【问题标题】:Changing view controllers without the storyboard在没有情节提要的情况下更改视图控制器
【发布时间】:2014-07-15 23:44:08
【问题描述】:

我正在尝试更改视图,但出于无关紧要的原因,我想通过代码而不是通过情节提要来完成,我找到了以下代码:

[[self ] presentModalViewController:[self destinationViewController] animated:NO];

问题是我不知道为presentModalViewController 或destinationViewController 输入什么。有什么方法可以弄清楚我的观点叫什么,以便我可以把它们放进去?

【问题讨论】:

    标签: ios xcode uiviewcontroller


    【解决方案1】:

    你应该在顶部有

    #import "NameOfViewController.h"
    

    后来

    UIViewController *destinationViewController = [[NameOfViewController alloc] init];
    [self presentViewController:destinationViewController animated:NO completion:nil];
    

    使用presentViewController 而不是presentModalViewController,因为不推荐使用后一种方法。我希望这对你有用。

    【讨论】:

    • 明确 +1 用于调用已弃用的方法
    【解决方案2】:

    在您给出的示例中,[self destinationViewController] 创建并返回一个 UIVIewController。

    您可以:

    1. 从 NIB 文件中加载一个

      controller = [[MyController alloc] initWithNibName:@"nib-resource-name" bundle:nil];

    2. 从情节提要中加载一个

      MyController * controller = [self.storyboard instantiateViewControllerWithIdentifier:@"controller-storyboard-id"];

    3. 以编程方式创建一个

      How do I create a UIViewController programmatically?

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 2017-03-29
      • 2013-06-21
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多