ios - 如何始终加载到同一个 UIViewController

标签 ios objective-c

我的应用有多个 View ,但我想确保它始终加载到同一个 View 中。

基本上,该应用程序受密码保护,我需要始终确保它加载到密码 View 中。

我该怎么做。

谢谢

最佳答案

如果您总是希望应用程序在同一个 UIViewController 中启动,您需要设置应用程序的 RootViewController。您可以在 Interface Builder 中通过勾选“Is Initial View Controller”框来执行此操作

enter image description here

或者在您的(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中,您可以将 rootViewController 设置为

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    //...
    self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"MyLoginViewControllerStoryboardID"]; 

    return YES;
}

请注意,您随后必须在 Interface Builder 中正确设置 Storyboard ID。也就是

enter image description here

此外,附带说明一下,如果您想要显示 LoginViewController 用户当前登录,您可以这样做像这样的东西

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    BOOL isLoggedIn = [[NSUserDefaults standardDefaults] boolForKey:@"IsLoggedIn"];

    NSString *rootStoryboardID;
    if(isLoggedIn) {
        rootStoryboardID = @"LoginViewControllerStoryboardID";
    } else {
        rootStoryboardID = @"MainViewControllerStoryboardID";
    }

    self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:rootStoryboardID]; 

    return YES;
}

希望对您有所帮助!

关于ios - 如何始终加载到同一个 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17004558/

相关文章:

ios - 更改具有只读访问权限的 PFObject ACL 权限

ios - 如何实现音频播放器界面?

ios - swift : Error on value of type 'Data' to type 'Data'

ios/xcode :How to Add Accessory View to Custom Cell

ios - 从 ReactNative rootviewcontroller 获取呈现的 Viewcontroller

objective-c - 谷歌地图 - 在路上的大概位置

iphone - Objective-C 中的文本作为超链接

ios - 尽管 NSAttributedString 不同意,为什么第二个文本 block 的行高比第一个高得多?

java - 是否可以为 iOS 编写应用程序并将 object-c 代码移动到 Android 中?

ios - 宏保留静态值