gpt4 book ai didi

ios - 检测在多个 ViewController 上的首次启动 - Swift

转载 作者:行者123 更新时间:2023-11-29 01:08:02 24 4
gpt4 key购买 nike

当第一次用户从选项卡栏 Controller 打开 ViewController 时,我试图弹出一个 UIView - 我只想有一个消息弹出窗口来解释它是如何工作的,就像教程一样。

我已经实现了这个,以便第一个 ViewController 在启动时弹出,但我想让它检查我的选项卡栏上的多个 ViewController 上的首次启动。我不太确定我在这里做错了什么。该 View 有:UIImageView、UITextView 和一个 UIButton,我将用它在点击时“隐藏” View 。

  override func viewDidLoad() {
super.viewDidLoad()

isAppAlreadyLaunchedOnce()
}

func isAppAlreadyLaunchedOnce()->Bool{
let defaults = NSUserDefaults.standardUserDefaults()

if let isAppAlreadyLaunchedOnce = defaults.stringForKey("isAppAlreadyLaunchedOnce"){
print("App already launched")

return true
}else{
backgrdView.hidden = false
messageView.hidden = false
textView.hidden = false
okButton.hidden = false
tobysLabel.hidden = false


return false
}
}


@IBAction func okButtonTapped(sender: UIButton) {

backgrdView.hidden = true
messageView.hidden = true
tobysLabel.hidden = true
textView.hidden = true
okButton.hidden = true
}

最佳答案

不是检查 isAppAlreadyLaunchedOnce,而是检查 ViewController 的启动。所以 firstVC 是 launch 添加到 userDefaults firstVC 为真。如果启动第二个,则将 secondVC 设置为 true。所以这将为各个 VC 维护 userDefaults。点击确定时设置您的 UserDefaults。然后在检查每个 VC 的 firstLaunch 时在所有 VC 中执行此操作。请为不同的 VC 保留不同的 key 。

func isAppAlreadyLaunchedOnce()->Bool{
let defaults = NSUserDefaults.standardUserDefaults()
if defaults.boolForKey("firstVC") {
print("First VC launched")
return true
}else{
backgrdView.hidden = false
messageView.hidden = false
textView.hidden = false
okButton.hidden = false
tobysLabel.hidden = false
return false
}
}


@IBAction func okButtonTapped(sender: UIButton) {
backgrdView.hidden = true
messageView.hidden = true
tobysLabel.hidden = true
textView.hidden = true
okButton.hidden = true
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "firstVC")
}

关于ios - 检测在多个 ViewController 上的首次启动 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36118049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com