【发布时间】:2012-06-10 03:18:03
【问题描述】:
我有一个示例应用程序。当我登录屏幕时,应用程序包含弹出视图,进入主页视图加载弹出窗口完美显示我的问题是弹出窗口仅在主页显示一次,再次来到主页弹出窗口不需要?怎么可能做到这一点。谁给个解决办法
【问题讨论】:
标签: iphone ios uiview uiviewcontroller uiviewanimation
我有一个示例应用程序。当我登录屏幕时,应用程序包含弹出视图,进入主页视图加载弹出窗口完美显示我的问题是弹出窗口仅在主页显示一次,再次来到主页弹出窗口不需要?怎么可能做到这一点。谁给个解决办法
【问题讨论】:
标签: iphone ios uiview uiviewcontroller uiviewanimation
在您的用户默认值中存储一些 BOOL 值。 在显示弹出窗口之前检查该变量的值。
if([[NSUserDefaults standardUserDefaults] boolForKey:@"popDisplayed"] == FALSE)
{
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"popDisplayed"];
[[NSUserDefaults standardUserDefaults] synchronize];
//Alert code will go here...
}
在您尝试显示警报之前输入上述代码。
因此,它只会显示一次警报。即使您重新启动应用程序,它也不会再次显示。
【讨论】:
将您的pop up 显示代码放入viewDidLoad。然后它只会一次出现。我认为您编写了代码以在viewWillAppear 中显示弹出窗口。每当您导航到 home page 时,都会调用它。 viewDidLoad 只会被一次调用。
【讨论】:
快速 Swift 3 版本:
if !UserDefaults.standard.bool(forKey: "wasAlreadyShown") {
UserDefaults.standard.set(true, forKey: "wasAlreadyShown")
// Show your Dialog...
}
【讨论】: