【问题标题】:One time view controller/segue一次性视图控制器/segue
【发布时间】:2014-12-03 08:50:27
【问题描述】:

我在谷歌和堆栈交换上四处寻找,但找不到我正在寻找的正确信息。

我正在创建一个游戏。与其拥有用户需要转到的“关于”或“说明”页面来了解如何玩,我希望将说明作为视图控制器出现,用户可以在其中阅读说明并继续玩从那里。虽然我希望这只发生一次!所以用户第二次去玩游戏就直接进入游戏了。

有谁知道这是怎么做的?

提前致谢, 马特

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    使用 NSUserDefaults,比如

        - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
       {
          if ([identifier isEqualToString:@"yourSegueName"])
           {
                NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
                if([defaults objectForKey:@"IS_FirstTime"]!=nil)
                 {
                      //user came for first time show help screen
                     [defaults setObject:@"IT'sNotFirstTime" forKey:@"IS_FirstTime"];
                    [defaults synchronize];
    
                    return(true);
                  }
                 else
                 {
                      //don't show help screen
                      return(fale);
                  }
             }
            else
            {
                   return(true);
             }
      }
    

    【讨论】:

      【解决方案2】:

      在您的主视图控制器中,根据您保存在用户默认值中的值来决定是否推送指令视图控制器:

      [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"showInstructions"]
      

      viewDidLoad,例如:

      if([[NSUserDefaults standardUserDefaults] boolForKey:@"showInstructions"]) {
          [self performSegueWithIdentifier:@"instructionsSegue"];
          [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"showInstructions"];
      }
      

      【讨论】:

      • 感谢您的意见
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      相关资源
      最近更新 更多