在没有情节提要的情况下更改视图控制器
Posted
技术标签:
【中文标题】在没有情节提要的情况下更改视图控制器【英文标题】:Changing view controllers without the storyboard 【发布时间】:2014-07-15 23:44:08 【问题描述】:我正在尝试更改视图,但出于无关紧要的原因,我想通过代码而不是通过情节提要来完成,我找到了以下代码:
[[self ] presentModalViewController:[self destinationViewController] animated:NO];
问题是我不知道为presentModalViewController 或destinationViewController 输入什么。有什么方法可以弄清楚我的观点叫什么,以便我可以把它们放进去?
【问题讨论】:
【参考方案1】:你应该在顶部有
#import "NameOfViewController.h"
后来
UIViewController *destinationViewController = [[NameOfViewController alloc] init];
[self presentViewController:destinationViewController animated:NO completion:nil];
使用presentViewController
而不是presentModalViewController
,因为不推荐使用后一种方法。我希望这对你有用。
【讨论】:
明确 +1 用于调用已弃用的方法【参考方案2】:在您给出的示例中,[self destinationViewController]
创建并返回一个 UIVIewController。
您可以:
从 NIB 文件中加载一个
controller = [[MyController alloc]
initWithNibName:@"nib-resource-name" bundle:nil];
从情节提要中加载一个
MyController * controller = [self.storyboard
instantiateViewControllerWithIdentifier:@"controller-storyboard-id"];
以编程方式创建一个
How do I create a UIViewController programmatically?
【讨论】:
以上是关于在没有情节提要的情况下更改视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
情节提要:更改情节提要中指定的 UINavigation 控制器的根视图