【问题标题】:UISplitViewController: Does not show up when setting it up pragmaticallyUISplitViewController:实用设置时不显示
【发布时间】:2015-04-06 22:08:14
【问题描述】:

我正在尝试使用情节提要设置拆分视图控制器。下面的代码是我到目前为止所拥有的。但是,它显示黑屏。我有一个故事板名称 Main。我在情节提要中有两个视图控制器。我从一篇文章中读到了如何做到这一点,但无法让它发挥作用。我一定错过了一些小东西。任何帮助表示赞赏。

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main"
                                                 bundle:nil];
  ViewController *firstVC =  [sb instantiateViewControllerWithIdentifier:@"ViewController"];
    ViewController1 *secondVC =  [sb instantiateViewControllerWithIdentifier:@"ViewController1"];

    CGRect frameFirstVC = firstVC.view.frame;
    frameFirstVC.size.width = 100;

    CGRect frameSecondVC = secondVC.view.frame;
    frameSecondVC.size.width = 100;

    UISplitViewController* splitVC = [[UISplitViewController alloc] init];
    splitVC.viewControllers = [NSArray arrayWithObjects:firstVC, secondVC, nil];

    [self.window addSubview:splitVC.view];
    [self.window makeKeyAndVisible];


    return YES; }

【问题讨论】:

    标签: ios objective-c uiviewcontroller storyboard uisplitviewcontroller


    【解决方案1】:

    您不应直接将拆分视图控制器的视图添加为窗口的子视图。相反,设置窗口的rootViewController 属性:

    self.window.rootViewController = splitVC;
    

    除了配置视图层次结构外,这还为应用设置了额外的状态和布局信息,以正确显示和使用拆分视图控制器。

    (我应该指出,您可以将拆分视图控制器放在情节提要中,将其标记为初始视图控制器,然后将该情节提要用作应用程序的主要部分,而不是编写 任何 代码接口文件。不过,这是一个更大的变化。)

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多