2012-04-15 21 views
12

Tôi đã đóng gói tất cả logic xem bảng của mình trên một UITableViewController được liên kết với một khung nhìn. Điều này đã được thực hiện bằng cách sử dụng bảng phân cảnh.Làm thế nào để xem xét một UITableViewController trong một Controller khác bằng cách sử dụng Storyboards

Tôi muốn nhúng logic này và xem trong vòng một view controller/xem

tôi có các thành phần sau (loại giống như một thông tin tiêu đề với một bảng cuộn bên dưới.): CustomViewController được liên kết với một UIView (kéo từ storyboard) CustomTableViewController được liên kết với một UITableView (kéo từ storyboard)

về cơ bản tôi đang cố gắng để bắt chước kịch bản của Stopwatch trong ứng dụng đồng hồ iOS

  • Cách tiếp cận thú vật này là gì?
  • Làm thế nào nó được thực hiện theo chương trình?
  • Điều này có thể được thực hiện trên bảng phân cảnh không?

Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn

+0

Tôi không hoàn toàn hiểu ... Bạn có muốn thêm UIViewController làm chế độ xem phụ không? – CodaFi

+1

"cách tiếp cận thú", rawr! – pfrank

Trả lời

25

Ok đã tìm ra. Giải pháp này là iOS 5 cụ thể vì tính năng này đã được thêm vào đó. Phương pháp này hoạt động với bảng phân cảnh.

Thiết lập: Mục đích là lưu trữ một chế độ xem bộ điều khiển chế độ xem và logic trong bộ điều khiển khác.

  1. Vì không có cách nào để tham chiếu bộ điều khiển chế độ xem con trong bảng phân cảnh, chúng tôi cần cung cấp tên bộ điều khiển chế độ xem. Điều này có thể được thực hiện bằng cách điền vào thuộc tính "Định danh" trên bộ điều khiển trong bảng phân cảnh. LƯU Ý: Hãy chắc chắn rằng bạn đang cung cấp cho bộ điều khiển nhận dạng và không phải là bộ điều khiển xem.

  2. Khởi tạo bộ điều khiển bạn muốn tổng hợp. Điều này có thể được thực hiện từ bộ điều khiển lưu trữ.

    UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"ControllerIdentifier"]; 
    
  3. Thêm bộ điều khiển con với bộ điều khiển cha mẹ

    [self addChildViewController: controller]; 
    
  4. Thêm đứa trẻ điều khiển xem đến xem các bộ điều khiển cha mẹ. Lưu ý nếu bạn có một khung nhìn giữ chỗ trong bộ điều khiển cha bạn muốn thêm khung nhìn con vào, thì đây là nơi bạn thực hiện nó. Ở đây tôi thêm nó một UIView gọi là giai đoạn trong bộ điều khiển cha mẹ.

    [self clearStage]; 
    [self.stageView addSubview:controller.view]; 
    presentedController.view.frame = self.stageView.bounds; 
    

Và đó là nó. Khá đơn giản. Tôi đã sử dụng nó thành công với bộ điều khiển chuyển đổi và xem trong một điều khiển tab được thực hiện tại nhà. Bộ điều khiển phụ sẽ mở rộng các khung nhìn của nó trong vòng đời của khung nhìn, do đó, viewDidLoad, vv tất cả hoạt động như mong đợi trong bộ điều khiển xem con này.

Hy vọng điều này sẽ giúp ai đó.

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