首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯威夫特ios7故事板-我自己启动主要场景

斯威夫特ios7故事板-我自己启动主要场景
EN

Stack Overflow用户
提问于 2016-01-30 13:01:16
回答 2查看 347关注 0票数 1

如果可能的话,我想控制从A到Z的哪些场景是可见的。

我是iOS的新手,但我决定使用故事板,因为这似乎是事情发展的方向。

从我自己的角度来看,我将把它看作是在一个地方设计多个场景的工具,但是我希望在我自己的代码中控制过渡。(我正在从另一种已经管理和跟踪逻辑流本身的语言和工具中移植)

这就引出了我的问题--我宁愿自己在启动时加载/选择我的第一个/主要场景,并自己“启动”它。我怎样才能做得最好呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-30 13:11:57

是的你可以这么做。对于每个情节提要,您有一个初始视图控制器,而故事板中的每个视图控制器都有一个唯一的标识符。因此,在代码中创建视图控制器对象时,只需指定要创建的视图控制器的标识符。

第一个场景显示后,启动屏幕是根视图控制器,您也可以创建编程,并可以从故事板加载该视图控制器的标识符。您也可以在不使用任何标识符的情况下从情节提要加载,但在这种情况下,它将加载初始视图控制器。

您可以在故事板中为视图控制器设置上述标识符。

票数 2
EN

Stack Overflow用户

发布于 2016-01-30 13:18:10

如果您想让任何视图控制器首先显示,那么只需单击故事板中的视图控制器,然后单击“是初始视图控制器”即可。

来自代码(在AppDelegate中)

斯威夫特

代码语言:javascript
复制
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

    var storyboard = UIStoryboard(name: "Main", bundle: nil)

    var initialViewController = storyboard.instantiateViewControllerWithIdentifier("LoginSignupVC") as! UIViewController

    self.window?.rootViewController = initialViewController
    self.window?.makeKeyAndVisible()

    return true
}

目标C

代码语言:javascript
复制
   - (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;
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35102096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档