不再显示ViewController

时间:2012-02-20 17:05:21

标签: ios xcode

在我的应用程序中,我创建了第一个名为welcome的ViewController(在storyboard中),其中包含所有说明。在页面的最后,我想插入一个可以选择显示“不再显示”的框。通过单击此框并转到下一页,第一个viewController将消失。当我重新打开应用程序时,控制器将不会再次显示。显示它的唯一方法是进行设置并选择开关“重新设置原始设置”或类似的东西。拜托,任何人都可以帮助我吗?谢谢!

我找到了一个例子,但不是我想要的:

- (IBAction)leggi{
NSString *stringaTesto = campo.text;
testo.text = [[NSString alloc] initWithFormat:@"%@", stringaTesto];

NSString *testoInserito = testo.text;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:testoInserito forKey:@"ciao"];
[defaults synchronize];

}

- (void)viewDidLoad

{     [super viewDidLoad];     NSString * testoSalvato = [[NSUserDefaults standardUserDefaults] objectForKey:@“ciao”];     if(testoSalvato == nil){         testo.text = @“Non hai ancora inserito il tuo nome”;         } else {         testo.text = [[NSString alloc] initWithFormat:@“Ciao%@”,testoSalvato];         }

}

IB Outlet链接到一个按钮

1 个答案:

答案 0 :(得分:2)

不再显示存储为BOOL中的NSUserDefaults ..并在显示视图前进行检查..

如果它是TRUE ..不显示。另外明智地显示它。

  

修改

让我们说你有你的应用代表,并且当前显示你的不再显示视图(让我们说A)...之后你会显示另一个视图(让我们说B)

然后在你的app委托中你必须得到一个BOOL

像这样

BOOL _Dont_Show_Again = [NSUSerDefaults standardDefaults] boolForkey : @"Don't Show"];

if(_Dont_Show_Again)
{
load B Code here...
}
else
{
load A Code here;
}

第一次_Dont_Show_Again将为0,因为它在默认情况下不存在..但是如果用户选择不显示你应该将它保存在默认值中,这个代码将适合你