我在viewcontroller1
我希望转到viewcontroller2
,在1
我这样做:
UIViewController *sv=[[signUpView alloc]init];
[self addChildViewController:sv];
signUpView
是新的viewController class
(view controller
的子类)
没有任何事情发生。
我试过了:[self.view removeFromSuperview];
这确实奏效并取消了我的观点。
谢谢。
答案 0 :(得分:1)
用以下代码替换您的代码:
UIViewController *sv=[[signUpView alloc]init];
[self addChildViewController:sv];
[self.view addSubview:sv.view];
[sv didMoveToParentViewController:self];
我没有发表评论,因为这段代码是自我解释的。 这应该有所帮助。
答案 1 :(得分:0)
一般方法是:
[ParentViewController.view addSubview: ChildViewController.view];
[ParentViewController addChildViewController: ChildViewController];
[ChildViewController didMoveToParentViewController: ParentViewController];
在你的情况下,它将是:
[self.view addSubview: sv.view];
[self addChildViewController: sv];
[sv didMoveToParentViewController: self];
另请参阅Apple.com上的View Controller Containment文章。
答案 2 :(得分:0)
另一种选择是使用segues在Storyboard中设置UIViewController
个互动,然后以编程方式调用segue。如果您不确定如何设置segue,请查看Ray Wenderlich的this tutorial或搜索一个;那里有很多,我写的任何东西都会比较苍白。
由于故事板中配置了所有内容,因此代码很简单。这是viewController1
拨打电话切换到viewController2
的示例。
[self performSegueWithIdentifier: @"DoNumber2" sender:self];