如果我正确切换视图控制器,需要清楚

时间:2014-08-29 02:53:23

标签: objective-c xcode ios7 uiviewcontroller uistoryboard

我制作的ipad应用程序在故事板中有11个视图控制器,其中一个是包含控制其他视图控制器显示为子视图的按钮的主视图。

有没有人确切知道使用UIViewControllers作为其他UIViewControllers的子视图是否可以,有来自苹果或其他来源的确凿证据?到目前为止,它一直在使用这种方法完美地工作:

    int nextPage = (method to determine nextPage based on button pressed);
    [currentView.view removeFromSuperview];
    currentView = [self.storyboard instantiateViewControllerWithIdentifier:[NSString  stringWithFormat:@"page%i",nextPage]];
    [self.view insertSubview:currentView.view atIndex:0];
    [currentView.view setFrame:CGRectMake(0, 0, 1024, 768)];

网上有人说,如果你使用的是ios5或更高版本,那就没关系,但是其他人说"不要这样做!!!"即使它是ios5。其他人说要使用容器视图,但是在我已经看过使用容器视图的每个教程中,您最终都会在您插入子视图后将视图控制器作为子视图插入到主视图中:

 [self.view addSubview:self.currentView];

我没有使用导航控制器,因为它们的可定制性有限,我不想要任何股票标签栏或导航栏,只需要所有自定义按钮。

提前致谢!

1 个答案:

答案 0 :(得分:0)

是的,当然,UINavigationController的工作原理以及UITabBarController的工作原理。 Interface Builder将使用容器视图为您设置它。

请参阅Creating Custom Container View Controllers


外卖是处理childViewControllers的重要因素。这可能有点棘手,但对于正确传播的通知非常重要。