Swift ios7 故事板 - 自己启动主场景
Swift ios7 storyboard - launch main scene myself
如果可能的话,我想从头到尾控制哪些场景是可见的。
我是 iOS 的新手,但决定继续使用故事板,因为这似乎是事情的发展方向。
从我自己的角度来看,我将把它视为一种在一个地方设计多个场景的工具,但我想在我自己的代码中控制转换。 (我正在从另一种已经管理和跟踪逻辑流本身的语言和工具移植)
这引出了我的问题 - 我更愿意在启动时 load/choose 我自己的 first/primary 场景和 "launch" 我自己。我怎样才能最好地做到这一点?
是的,你可以做到。对于每个故事板,您都有一个初始视图控制器,故事板中的每个视图控制器都有一个唯一的标识符。因此,在代码中创建视图控制器的对象时,您只需指定要创建的视图控制器的标识符即可。
启动画面后可见的第一个场景是根视图控制器,您也可以通过编程方式创建它,并且可以使用该视图控制器的标识符从情节提要中加载它。您也可以在不使用任何标识符的情况下从故事板加载,但在这种情况下它会加载初始视图控制器。
您可以像上面那样在故事板中为视图控制器设置标识符。
如果你想让任何视图控制器首先显示,那么只需在故事板中单击你的视图控制器,然后单击初始视图控制器
来自代码(在 AppDelegate 中)
Swift
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
}
Objective C
- (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;
}
如果可能的话,我想从头到尾控制哪些场景是可见的。
我是 iOS 的新手,但决定继续使用故事板,因为这似乎是事情的发展方向。
从我自己的角度来看,我将把它视为一种在一个地方设计多个场景的工具,但我想在我自己的代码中控制转换。 (我正在从另一种已经管理和跟踪逻辑流本身的语言和工具移植)
这引出了我的问题 - 我更愿意在启动时 load/choose 我自己的 first/primary 场景和 "launch" 我自己。我怎样才能最好地做到这一点?
是的,你可以做到。对于每个故事板,您都有一个初始视图控制器,故事板中的每个视图控制器都有一个唯一的标识符。因此,在代码中创建视图控制器的对象时,您只需指定要创建的视图控制器的标识符即可。
启动画面后可见的第一个场景是根视图控制器,您也可以通过编程方式创建它,并且可以使用该视图控制器的标识符从情节提要中加载它。您也可以在不使用任何标识符的情况下从故事板加载,但在这种情况下它会加载初始视图控制器。
您可以像上面那样在故事板中为视图控制器设置标识符。
如果你想让任何视图控制器首先显示,那么只需在故事板中单击你的视图控制器,然后单击初始视图控制器
来自代码(在 AppDelegate 中)
Swift
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
}
Objective C
- (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;
}