为了账号安全,请及时绑定邮箱和手机立即绑定

在ViewDidLoad上执行Segue

在ViewDidLoad上执行Segue

慕森卡 2019-12-27 11:06:06
在iOS 5中,我有一个带有模态视图控制器的情节提要,如果用户第一次在应用程序中使用该脚本,我想显示它,之后我想跳过此视图控制器。我设置了一个NSDefault密钥来处理此问题,但是当我检查是否设置了该密钥,然后使用performSegueWithIdentifier来启动segue时,什么也没发生。如果我将此按钮放在按钮后面,则效果很好...
查看完整描述

3 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

我回答了一个类似的问题,开发人员希望在开始时显示登录屏幕。我为他整理了一些示例代码,可以在此处下载。解决此问题的关键是,如果要显示此新的视图控制器,则在正确的时间调用事物,您将在示例中看到必须使用类似的东西


- (void)viewDidAppear:(BOOL)animated

{

    [super viewDidAppear:animated];


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

    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];

    [vc setModalPresentationStyle:UIModalPresentationFullScreen];


    [self presentModalViewController:vc animated:YES];

}

我也有一个关于segue和情节提要如何工作的解释,您可以在这里看到


查看完整回答
反对 回复 2019-12-27
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

在ViewDidLoad中加载会导致“底层”闪烁。我通过以编程方式加载情节提要来解决此问题。因此,在“目标/主故事板”下-将此留空。然后添加以下内容:


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

{

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];


    // Load Main App Screen

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

    HomeScreenVC *homeScreenVC = [storyboard instantiateInitialViewController];

    self.window.rootViewController = homeScreenVC;

    [self.window makeKeyAndVisible];


    // Load Login/Signup View Controller

    UIViewController *mainLoginVC = [storyboard instantiateViewControllerWithIdentifier:@"MainLoginVC"];

    [mainLoginVC setModalPresentationStyle:UIModalPresentationFullScreen];

    [homeScreenVC presentModalViewController:mainLoginVC animated:NO];


    return YES;

}


查看完整回答
反对 回复 2019-12-27
?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

问题是您要在完全添加第一个视图之前将第二个视图添加到层次结构中。尝试将代码放入:


-(void)viewDidAppear:(BOOL)animated{

    [super viewDidAppear:animated];

    // Present your modal from here

}

[super viewDidAppear]调用之后,您将具有完全加载的视图以进行修改。


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 687 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信