【问题标题】:don't show again ViewController不再显示 ViewController
【发布时间】:2012-03-11 00:50:04
【问题描述】:

在我的应用程序中,我创建了第一个 ViewController(在故事板中),名为 Welcome,其中包含所有说明。在页面的末尾,我想插入一个可以选择显示“不再显示”的框。通过单击此框并转到下一页,第一个 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

{ [超级视图DidLoad]; NSString *testoSalvato = [[NSUserDefaults standardUserDefaults] objectForKey:@"ciao"]; 如果(testoSalvato == nil){ testo.text = @"Non hai ancora inserito il tuo nome"; } 别的 { testo.text = [[NSString alloc] initWithFormat:@"Ciao %@", testoSalvato]; }

}

IB Outlet 链接到一个按钮

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    不再显示作为BOOL 存储在NSUserDefaults.. 并在显示视图之前检查它..

    如果是真的..不要显示。否则显示它。

    编辑

    假设您有您的应用程序委托,并且当前显示您不再显示视图(假设 A)..之后您显示另一个视图(假设 B)

    那么在你的应用委托中你必须得到一个 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,因为它在默认值中不存在..但是如果用户选择不显示您应该将其保存在默认值中,然后此代码将为您正常工作

    【讨论】:

    • 对不起,我是Objective C的新手,你能解释清楚吗?谢谢
    • 在 NSUserDefaults 上查找教程..通过它们后会很容易,询问您是否卡在某些部分..您要问的是整个过程...而我们没有做教程..只有关于堆栈溢出的 Q/A..
    • 没办法。正如您在我的问题的编辑中所见,我了解如何保存文本,但不了解如何隐藏视图控制器
    • 试图理解......但我注意到,如果我希望 ViewController 链接到代码(加载 A),我不能。我只能链接 UIView
    • 所以不要在一种情况下链接 UIView 而在另一种情况下链接 UIView
    猜你喜欢
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多