8

特定のプロパティを持つ特別なクラスのUIViewを作成しました。通常は空白ですが、他のビューが含まれる場合があるため、プログラムで作成しました。プログラムでUIViewを作成すると、次のようなことができることを知っています。[specialView addSubview: aView];

私の問題は、ストーリーボードで作成したUIViewがあり、そのUIViewを特別なビューのサブビューとして追加する必要があることです。ViewControllerのプロパティとして接続しましたが、上記と同じコードを実行しても何も起こりません。考え?

4

3 に答える 3

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

そして、Interface Builderでそのような識別子をシーン(ビューコントローラ)に与えることを忘れないでください。

于 2012-11-15T01:10:23.170 に答える
2

別の解決策は、viewcontrollerをchildviewcontrollerとして追加できることです。

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

削除する :

func hideContentController(content: UIViewController) {
    content.willMoveToParentViewController(nil)
    content.view.removeFromSuperview()
    content.removeFromParentViewController()
}
于 2016-02-23T08:02:40.600 に答える
0

必要なビューを格納するUIViewControllerはインスタンス化されない場合があります。したがって、そのコントローラーをインスタンス化し、そこからビューを取得する必要があります。

于 2012-11-15T01:02:07.803 に答える