2012-11-15 38 views
7

Tôi đã tạo một lớp UIView đặc biệt có các thuộc tính nhất định và tôi đã lập trình vì nó thường trống nhưng đôi khi sẽ chứa các chế độ xem khác. Tôi biết rằng nếu tôi tạo UIView theo lập trình, tôi có thể làm điều gì đó như [specialView addSubview: aView];Thêm chế độ xem bảng phân cảnh làm chế độ xem phụ của chế độ xem được tạo theo chương trình

Vấn đề của tôi là có UIView mà tôi đã tạo trong bảng phân cảnh và tôi cần thêm UIView làm chế độ xem phụ trên chế độ xem đặc biệt của tôi. Tôi đã kết nối nó như là một tài sản trong ViewController của tôi nhưng khi tôi làm cùng một mã như trên, không có gì xảy ra. Suy nghĩ?

Trả lời

9
MyViewController *myViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyScene"]; 
[specialView addSubview:myViewController.theViewToAdd]; 

Và đừng quên đưa mã nhận diện đó vào cảnh của bạn (bộ điều khiển xem) trong Trình tạo giao diện.

0

UIViewController đó chứa chế độ xem bạn muốn có thể không được khởi tạo. Vì vậy, bạn sẽ cần phải nhanh chóng điều khiển đó và lấy xem từ đó.

2

Một giải pháp khác là bạn có thể thêm bộ điều khiển xem dưới dạng một childviewcontroller.

func displayContentController(content: UIViewController) { 
    addChildViewController(content) 
    self.view.addSubview(content.view) 
    content.didMoveToParentViewController(self) 
} 

Để loại bỏ:

func hideContentController(content: UIViewController) { 
    content.willMoveToParentViewController(nil) 
    content.view.removeFromSuperview() 
    content.removeFromParentViewController() 
} 
Các vấn đề liên quan