iOS App First Launch加载T& C

时间:2014-05-02 01:16:45

标签: ios objective-c xcode

我想帮助我查看一下代码。我的目的是在首次打开应用程序时显示带有T& C的视图。

我目前在FirstViewController下使用以下代码,如建议here

- (void)viewDidLoad: (BOOL)animated
{
    [super viewDidLoad];

    NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];

    BOOL isAccepted = [standardUserDefaults boolForKey:@"iHaveAcceptedTheTerms"];

    if (!isAccepted) {
        [self presentViewController:@"Terms" animated:YES completion:nil];
    } else {
        [self.navigationController pushViewController:@"First" animated:YES];
    }

我使用@"Terms"@"First"的原因是因为它给了我错误,而且因为我在Youtube视频上看到了它,我错了?

我尝试的另一种方法是在Youtube视频中建议的方法:

- (void)viewDidLoad: (BOOL)animated
{
    [super viewDidLoad];
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"FirstLaunch"])
    {}
    else {
        // Place code here


        UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
        UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"Terms"];
        [vc setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];


        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstLaunch"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

但是都不行。你能和我分享你的想法并帮助我吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

在您的第一个代码中,行:

//...
[self presentViewController:@"Terms" animated:YES completion:nil];
//...
[self.navigationController pushViewController:@"First" animated:YES];
//...

传递NSStrings对象(@"条款"和@" First")而不是UIViewControllers。那些参数必须是UIViewController类的实例。

在第二个代码中,您正在创建UIViewcontroller(vc)的实例,但您没有呈现视图控制器。在第二个代码中,您可以添加:

    [self presentViewController:vc animated:YES completion:nil];

设置过渡样式后。

相关问题