我想帮助我查看一下代码。我的目的是在首次打开应用程序时显示带有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];
}
但是都不行。你能和我分享你的想法并帮助我吗?
谢谢:)
答案 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];
设置过渡样式后。