使用两个ViewControllers,MyView 1和MyView 2,是否可以从MyView1.m向MyView2添加子视图?
我试过了:
MyView2 * screen = [[MyView2 alloc]initWithNibName:nil bundle:nil];
[screen.view addSubView:mySubView];
但我的MyView 2新实例与MyView2上的'可见'ViewController无关,对吧?
为了澄清,正在显示的ViewController是MyView1。我希望MyView1能够将子视图添加到MyView2视图。
由于
答案 0 :(得分:2)
我认为你让viewControllers混淆了视图,或者至少你的问题是。也许这就是你要找的东西 -
MyViewController2 *myViewController2 = [[[MyViewController2 alloc] initWithNibName:nil bundle:nil] autorelease];
[myViewController2.view addSubView:mySubView];
// add any other views to myViewController2's view
[self.view addSubView:myViewController2.view]; // adding the view to VC1's view
如果您希望能够在MyViewController1中继续添加内容,则应将myViewController2或其视图声明为保留属性。
答案 1 :(得分:1)
您可以让MyView1控制器在应用程序的公共对象中保存一些信息,以便当MyView2重新出现时,可以根据需要将子视图添加到其视图中。
答案 2 :(得分:0)
假设MyView2是UIViewController的子类,则viewcontroller本身没有addSubView:
方法。相反,您希望将subView添加到视图控制器的view
,如下所示:
[screen.view addSubview:mySubView];
答案 3 :(得分:0)
试试这个,
[MyView1.view addSubView:MyView2];
[self.view addSubview:MyView1];