2012-04-18 118 views
0

我有我的rootviewcontroller。在我加载视图A. 视图A containts一个按钮,但加载视图B.,我不想视图B之前添加为视图A的子视图,其发生,如果我这样做:添加视图从子视图的父视图

- (IBAction)loadViewB:(id)sender { 

    if (self.viewB == nil) { 
     self.viewB = [[NUMViewController alloc] initWithNibName:@"NUMviewController" bundle:Nil]; 
    } 

    [self.view addSubview:viewB.view]; 

} 

我想加载viewB作为我的rootview的子视图。所以我可以在viewB动画之前制作出viewA。

但我不知道我该如何解决这个问题。我猜我需要一个方法在我的rootViewController来处理添加和删除子视图。我需要能够从我的viewA子视图中调用该方法。

有什么想法?谢谢!

回答

1

尝试[self.view.superview addSubview:viewB.view]
但我不认为这是最好的方法,因为它涉及到MVC。
你可以做什么是添加viewA到self.view和viewB到self.view也。

+0

感谢此工作。但我不确定我是否理解将viewA和B添加到self.view中。那么我如何使一个和另一个动画?并self.view我的rootviewcontroller视图或我们在谈论一个容器视图,我分配viewA和B到? – 2012-04-18 12:10:29

+0

是的,这就是我的意思。这是场景。你有一个根视图控制器,它有一个主视图(self.view)。将两个UIView属性添加到根视图控制器(viewA和viewB),初始化它们并将它们添加为self.view(根视图控制器的主视图)的子视图。然后你可以使用这些属性来控制它们,为它们和任何你喜欢的设置动画。不要忘记在dealloc方法中释放它们(如果不使用ARC)。 (其实你的属性可以是UIViewControllers,你初始化并将它们的视图添加到你的self.view中)。 – graver 2012-04-18 12:15:17

相关问题