-1

我想制作一个“条款和条件”屏幕,在第一次打开该应用程序时弹出。在这个视图中,我会添加一个按钮,上面写着“同意”,点击它后,代码将执行:

[self dismissViewControllerAnimated:YES completion:nil];

...然后会转到应用程序的第一个视图。

我目前正在使用具有 4 个 ViewControllers 的选项卡栏控制器。所以基本上,我只需要在我的第一个 ViewController 上的 viewWillAppear 中有一些方法来检查 NSUserDefault 键:值。应用程序第一次打开时,它将为零。在他们单击同意后,我将其设置为 1,并且该位代码将永远不会再次执行。

您能否提供一些代码来完成在加载应用程序时将视图从 firstViewController 的视图路由到此备用视图控制器的任务?

谢谢!

4

2 回答 2

1

弹出窗口的使用可能会变得复杂。如果您对 Objective-C 的经验很少,请尝试以下类似的方法。

- (void)viewDidLoad {

    if ([termsvalue == 0]) {
        NSString *msg = [NSString stringWithFormat:@"Do you agree with the terms of use?"];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"- Confirmation -"
                                                        message:msg
                                                       delegate:self
                                              cancelButtonTitle:@"Disagree"
                                              otherButtonTitles:@"I agree", nil];
        [alert setTag:100];
        [alert show];
    }
}

- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView { // Validation
if ([alertView tag] == 100) {
    return YES;
}
}

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { // Go
if ([alertView tag] == 100) {
    if (buttonIndex == 1) {
        // The user has agreed
    }
}
}
于 2013-05-08T02:49:24.313 回答
1

在 FirstViewController 的 viewWillAppear 方法中,检查 NSUserDefaults 然后显示您的 TermsViewController。用户在 TermsViewController 中点击同意后,设置 NSUserDefaults 然后调用

[self.presentingViewController dismissModalViewControllerAnimated:YES] 
于 2013-05-08T02:39:33.580 回答