仅在完成操作IOS Swift 3后才使用户访问视图[关闭]
Posted
技术标签:
【中文标题】仅在完成操作IOS Swift 3后才使用户访问视图[关闭]【英文标题】:Make a user access a view only after it has completed an action IOS Swift 3 [closed] 【发布时间】:2017-04-06 02:58:24 【问题描述】:如何让用户只有在完成操作后才能访问视图?例如,仅当用户在 Swift 3 for ios development 中正确回答了先前视图中的问题时才访问视图
【问题讨论】:
这是一个非常广泛的问题,没有代码。你的视图控制器在做什么?它是一个测验应用程序,一遍又一遍地显示相同的东西,还是你正在做某种身份验证,一旦你的问题得到回答,你就在寻找新的 viewController? 【参考方案1】:这是一个非常广泛的问题,但诗人版本的物理学是你想要添加某种目标动作方法来监控你的textField
。一个问题被回答,用户可以继续。
一种方法是设置一个“下一步”按钮,一旦问题得到正确回答,该按钮最初会被禁用和启用。
在FirstViewController
中,您可以有一个IBOutlet
到一个nextButton
和一个textField
,如下所示:
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var nextButton: UIButton!
您还可以控制并拖动一个 segue 到 SecondViewController
然后,在viewDidLoad
中,您可以先禁用该按钮:
nextButton.isEnabled = false
当按钮被禁用时,您无法继续。启用的那一刻,你可以通过按下它来继续。
那么,您可以通过method you create to monitor your textField
获得正确答案:
// this is the method that monitors your textField
func textFieldDidChange(textField: UITextField)
if textField.text != "42"
nextButton.isEnabled = false
else
nextButton.isEnabled = true
在viewDidLoad
中,您将在禁用nextButton
之后添加一个目标操作。这是viewDidLoad
的样子:
override func viewDidLoad()
super.viewDidLoad()
// this sets the button to disabled...
nextButton.isEnabled = false
// this monitors the textField for the correct answer
textField.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: .editingChanged)
这里是a repo I created for you。
【讨论】:
非常感谢!!我一直在努力解决这个问题,但现在一切都清楚了!非常感谢你! :D 如果对您有帮助,请接受答案并点击向上箭头 :)以上是关于仅在完成操作IOS Swift 3后才使用户访问视图[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
WPF TextBlock 仅在所有工作完成后才显示所有日志消息