将子视图添加到另一个视图
问题描述:
使用两个ViewControllers,MyView 1和MyView 2,是否可以从MyView1.m中向MyView2添加子视图?将子视图添加到另一个视图
我曾尝试:
MyView2 * screen = [[MyView2 alloc]initWithNibName:nil bundle:nil];
[screen.view addSubView:mySubView];
但我的MyView的2的新实例对MyView2在“可见的”视图控制器没有连接,对不对?
为了说明,显示的ViewController是MyView1。我希望MyView1能够将子视图添加到MyView2视图。
由于
答
我想你混淆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或视图作为留置物。
答
假设MyView2是的UIViewController的一个子类,还有对的ViewController本身没有addSubView:
方法。相反,你想子视图添加到您的视图控制器的view
,就像这样:
[screen.view addSubview:mySubView];
答
你可以有MyView1控制器保存在一个共同的目标的一些信息在你的应用程序,这样,当MyView2再次出现它可以将子视图添加到它的观点,如果需要。
答
试试这个,
[MyView1.view addSubView:MyView2];
[self.view addSubview:MyView1];
谢谢,但那不是真的问题,我已经在我的代码中有screen.view。问题是我想从MyView1中更改MyView2的视图。 – Martol1ni 2012-04-15 23:02:35