ios - 以编程方式加载新的 ViewController

标签 ios segue

用户打开应用程序并显示 LoginViewController,一旦他们输入详细信息并按下登录按钮,就会发出 NSURLRequest,如果结果成功,应用程序需要加载 HomeViewController。

除了加载 HomeViewController 之外,一切正常。

我尝试实例化 HomeViewController 并且:

[self presentViewController:Home animated:YES completion:NULL]

但它不会加载新的 Controller ,我不确定我是否需要继续或执行我不知道的其他类型的模态请求。

最佳答案

我假设 HomeHomeViewController 的类? 当它的名字 HomeViewController 时,它会更像 cocoa 风格。

self.homeViewController = [[Home alloc]init];

通过这样做,您将不得不关心创建和布局 Controller 控制的所有 View 。如果您使用 Interface Builder 执行此操作,则使用

self.homeViewController = [[Home alloc] initWithXib:@"NameOfTheNibFileHere"]];

如果你的 View Controller 是在 Storyboard中布局的,那么在这个例子中给它一个ID“HomeID”)在 Storyboard中并通过加载它。

self.homeViewController = [storyboard instantiateViewControllerWithIdentifier:@"HomeID"];

如果它是你 Storyboard的 Root View Controller ,那么我建议使用

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

然后从那里开始。

关于ios - 以编程方式加载新的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23721141/

相关文章:

ios - 获取 UISearchController 的 scopeButtonTitles 字符串

ios - dispatch_source_t 处理函数的计时问题——我是否遵循正确的调度计时器模式?

swift - 将数据从 UIViewController 发送到 UIView

ios - 应用程序转移后,AppGroups 会发生什么情况?

ios - 如何检查按钮的文本是否包含数组元素?

ios - 为什么 shouldPerformSegue 使用字符串,我该如何使用 UIStoryboardSegue 来代替它?

ios - 使用 on/off 开关来摆脱不同 View Controller 中的 UILabel

Swift 3.0 使用 Segue 在 View Controller 之间传递信息

ios - 在 iOS 应用程序中使用蓝牙

swift - 替换 Storyboard 中的 ViewController,同时保留 Segues