2011-11-14 27 views
23

Trong iOS5 sử dụng tính năng bảng phân cảnh tôi muốn tạo vùng chứa tùy chỉnh có 2 ViewControllers được nhúng trong đó. Ví dụ, nhúng điều khiển xem bảng cũng như bộ điều khiển xem cả hai trong một ViewController.Cách tạo vùng chứa bộ điều khiển chế độ xem tùy chỉnh bằng cách sử dụng bảng phân cảnh trong iOS 5

Đó là, một bộ điều khiển xem sẽ có 2 mối quan hệ:

  1. để điều khiển xem bảng
  2. để xem điều khiển do đó sẽ có 4 UIImage xem Hoặc UIButton trong đó

Is tạo loại mối quan hệ này có thể bằng cách sử dụng tính năng kéo thả của bảng phân cảnh chỉ & không theo chương trình?

+0

Tôi gặp sự cố với ví dụ của bạn. Sự kiện viewDidLoad của CustomViewController không bao giờ được kích hoạt ... Có bình thường không? Có cách nào để khắc phục điều đó không? Nếu không, đây là một bài thực sự tốt! Cảm ơn bạn. –

Trả lời

14

, Bạn chỉ nên có một bộ điều khiển chế độ xem để điều khiển cảnh. Tuy nhiên, viewController này có thể có hai bộ điều khiển chế độ xem khác để kiểm soát các bản xem phụ cụ thể trên cảnh của bạn. Để làm điều này, bạn tạo các thuộc tính trong khung nhìn sceneController của bạn, trong trường hợp của bạn một cho tableViewController và một cho khung nhìn của bạn. Tôi muốn giữ mọi thứ lại với nhau nên tôi tạo cả hai cửa hàng viewControllers này và tạo chúng trong trình tạo giao diện. Để tạo chúng trong trình xây dựng giao diện kéo trong một đối tượng từ thư viện Object và đặt kiểu của nó thành viewController có liên quan. Nối nó vào ổ cắm thích hợp mà bạn vừa tạo trong khung nhìn của khung nhìn của bạn - Lưu ý: điều này quan trọng nếu không viewController sẽ được giải phóng nếu bạn đang sử dụng ARC và làm hỏng ứng dụng của bạn. Sau đó móc các viewControllers này lên khung nhìn mà bạn muốn chúng kiểm soát và bạn đã hoàn thành.

Hoặc bạn có thể nhanh chóng và nhảy lên chế độ xem của bạnBộ điều khiển trong khung cảnh của bạnController bạn muốn làm điều này.

Hy vọng điều này sẽ hữu ích.

Chỉnh sửa: Trên phản ánh đây không phải là ý tưởng tốt và thực sự chống lại HIG, bạn chỉ nên duy trì một ViewController cho mỗi màn hình nội dung và thay vào đó tạo một lớp xem phù hợp và có bộ điều khiển chế độ xem đơn. giữa các chế độ xem khác nhau.

+3

Chúng tôi có thể tạo lối thoát cho chế độ xem nhưng làm cách nào để có thể tạo lối thoát cho viewController trong bảng phân cảnh? – Sayali

+2

Mở trình tạo giao diện và chọn bảng phân cảnh của bạn. Ở phía dưới bên phải, bạn sẽ thấy thư viện đối tượng (nơi bạn kéo view controller và views từ) gõ vào hộp tìm kiếm và bạn sẽ thấy đối tượng màu vàng/cam nhỏ kéo vào cảnh của bạn và thay đổi kiểu của nó trong bộ kiểm tra nhận dạng bộ điều khiển xem của bạn. Sau đó, treo lên một cái nhìn mà là trên cảnh của bạn cho nó để kiểm soát và thats nó. Trong mã của bạn chỉ cần có một IBOutlet cho lớp điều khiển khung nhìn của bạn và kết nối đối tượng đó với nó. –

+0

Nhưng cách kết nối chế độ xem để kiểm soát?Những gì tôi đã làm là như sau: chọn storyboard file-> drag viewcontroller (Main view Controller), TableviewController (một trong các bộ điều khiển xem phụ) & 1 thêm UIViewController (một bộ điều khiển xem phụ). Sau đó, trong Main view controller, tôi đã tạo 2 IBOutlets cho UITableViewController & UIViewController. Sau đó chọn Main UIViewController-> kích chuột phải vào nó và kết nối IBOutlet được tạo ra với TableViewController trong storyBoard. Nhưng nó không tạo ra kết nối. Hãy cho tôi biết nếu tôi làm sai điều gì đó – Sayali

0

Có cách để làm điều đó không phải là quá hacky. Nó được mô tả tại URL sau đây cho UITabBarControllers, mà bạn có thể sử dụng bộ điều khiển xem đầu tiên trong danh sách kiểm soát subview đầu tiên, và điều khiển thứ hai điều khiển khác. Hoặc, bạn có thể thích ứng với mã để làm việc với UISplitViewController.

http://bartlettpublishing.com/site/bartpub/blog/3/entry/351

Về cơ bản, nó hoạt động bằng cách thay thế tabbarcontroller khi chạy sau khi iOS đã hoàn tất việc cấu hình nó.

+0

FYI - bắt đầu từ iOS 7, điều này không hoạt động nữa. Có thể có một cách để có được một cái gì đó tương tự xảy ra, nhưng chúng tôi đã chuyển dự án của mình sang các thanh tab chuẩn. – johnnyb

Các vấn đề liên quan