当前位置: 首页 > 面试题库 >

使用情节提要以编程方式设置初始视图控制器

呼延骏俊
2023-03-14
问题内容

如何以编程方式InitialViewController为情节提要设置?我想根据不同的启动条件将情节提要板打开到其他视图。


问题答案:

如何 使用虚拟初始视图控制器

确保所有初始视图控制器都有一个Storyboard ID。

在情节提要中,取消选中第一个视图控制器中的“是初始视图控制器”属性。

如果您此时运行应用程序,则将阅读:

Failed to instantiate the default view controller for UIMainStoryboardFile 'MainStoryboard' - perhaps the designated entry point is not set?

您会注意到,应用程序委托中的window属性现在为nil。

在应用程序的设置中,转到目标和Info选项卡。有明确的价值Main storyboard file base name。在General标签上,清除的值Main Interface。这将删除警告。

在应用程序委托的application:didFinishLaunchingWithOptions:方法中创建窗口和所需的初始视图控制器:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];

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

    UIViewController *viewController = // determine the initial view controller here and instantiate it with [storyboard instantiateViewControllerWithIdentifier:<storyboard id>];

    self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];

    return YES;
}


 类似资料:
  • 我有一个UIViewController(),它管理一个包含两个子视图的视图,我使用脚本创建了这两个子视图。现在我希望这两个子视图由它们自己的模型控制器管理,因此应用程序完成的大部分工作都是分布式的,而不是集中在这一个控制器上。 我尝试在视图控制器上设置视图,但它不起作用(至少其他控制器上的没有被调用,尽管视图显示)。在的中,我有以下内容: 我该怎么做?还有,这是个好主意吗?

  • 如何以编程方式设置属性?

  • 问题内容: 已经为此苦苦挣扎了一段时间,似乎永远也找不到直接的答案。 任何帮助表示赞赏! 问题答案: 如果您在导航控制器中: 或者,如果您只想呈现一个新视图:

  • 如何在java中向文本视图添加样式?我试图在我的价值观/风格下添加一个。xml,而不是单独添加每个属性。

  • 我使用的是Xcode 4.5和iOS 6。 我正在构建一个使用故事板的通用应用程序。我有一个视图控制器,它在导航栏中有一个按钮。当点击按钮时,我正在使用一个segue来显示另一个视图控制器作为模式。模态视图控制器在其导航栏中有一个“取消”和一个“保存”按钮。在情节提要中,模式按钮项链接到新退出操作上的操作,该操作应展开到父视图控制器,取消模式,并调用操作处理程序。 这在iPhone上运行良好,但我

  • 我查看了演示示例代码,发现他们使用的解决方案是在中初始化MapFragment,并在调用之后,在中获取对GoogleMap的引用。 我需要在MapFragment初始化后立即获得对GoogleMap的引用,因为我希望用户能够用按钮显示或隐藏地图。我知道一个可能的解决方案是像上面所说的那样在开始时创建地图,然后设置它的可见性消失,但我希望地图默认关闭,这样如果用户没有明确要求,它就不会占用用户的带宽