2013-08-29 61 views
6

Làm cách nào để tạo phân đoạn mối quan hệ? Tôi muốn tạo một lớp con UIViewController tương tự như UITabBarController hoặc UINavigationController ở đâu, bằng cách sử dụng Trình tạo giao diện, tôi có thể điều khiển + kéo từ bộ điều khiển chế độ xem sang bộ điều khiển chế độ xem khác. Tôi đã thửTạo Phân đoạn Mối quan hệ

@property (nonatomic) IBOutlet NSArray *viewControllers; 
@property (nonatomic) IBOutlet UIStoryboardSegue *root; 

và cũng đã thử kéo Chế độ xem vùng chứa vào bộ điều khiển chế độ xem của tôi. Khi tôi làm điều đó, tôi có thể kéo từ một bộ điều khiển xem sang bộ điều khiển khác nhưng tôi không thể kéo đến nhiều bộ điều khiển chế độ xem. Tôi cũng không thể tìm thấy bất kỳ tài liệu nào cho đối tượng UIContainerView.

Trả lời

4

Các phân đoạn mối quan hệ được xử lý bởi Trình tạo giao diện. Bạn không thể tạo chúng theo cách thủ công nếu bộ điều khiển xem bắt đầu không phải là một trong những điều bạn đã đề cập. Giải pháp đơn giản nhất cho vấn đề của bạn là tạo một TabBarController và ẩn thanh tab của nó bằng mã.

Đây là một hướng dẫn khá tiên tiến về một cái gì đó rất giống với những gì bạn đang cố gắng làm. Bạn có thể nhận thêm một số ý tưởng từ nó. http://www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html

EDIT:

Thanks for the tip về việc sử dụng một TabBarController, nhưng tôi hỏi câu hỏi này vì tôi đang cố gắng để phân lớp UIPageViewController để tôi có thể tạo ra nguồn dữ liệu của PageViewController từ IB

Đó là một ý tưởng thú vị, và đây là một giải pháp được giải thích cho điều đó: Using UIPageViewController in storyboards Bạn không phải phân lớp UIPageViewController, nó cũng chống lại đề xuất trong tài liệu. Tạo một lớp thực hiện các đại biểu UIPageViewControllerDataSource. Đặt một "khối màu xanh lá cây" trong bảng liệt kê danh sách của bộ điều khiển xem trang và đặt lớp của nó thành một khối mới được tạo. Sau đó kéo từ cửa hàng nguồn dữ liệu đến khối lập phương này.

Tuy nhiên, các trang không thể được thiết lập trực quan theo cách này hay cách khác. Thật không may là không được hỗ trợ ở tất cả.

+0

Đó là Phân đoạn thủ công. Tôi đang tìm cách tạo ra một Seghip mối quan hệ cho lớp con của riêng tôi của UIViewController. – Kevin

+0

xin lỗi tôi đã hiểu nhầm câu hỏi của bạn trước, cập nhật câu trả lời. Nó có hiệu quả với bạn không? Điều gì có thể là vấn đề với nó? – allprog

+0

Cảm ơn bạn đã giới thiệu về cách sử dụng một TabBarController, nhưng tôi hỏi câu hỏi này bởi vì tôi đang cố gắng phân lớp UIPageViewController để tôi có thể tạo nguồn dữ liệu của PageViewController từ IB. – Kevin