使用户只有在完成操作后才能访问视图?例如,仅当用户正确回答了 Swift 3 for IOS 开发中上一个视图中的问题时,才访问视图
非常广泛的问题,但诗人版本的物理学是你想要添加某种目标操作方法来监控你的textField
。一个问题得到回答,用户可以继续。
一种方法是有一个"下一步"按钮,该按钮最初被禁用,并在问题正确回答后启用。
在FirstViewController
中,你可以有一个IBOutlet
到一个nextButton
和一个textField
,如下所示:
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var nextButton: UIButton!
您还可以控制+拖动 segue 以SecondViewController
然后,在 viewDidLoad
中,您可以最初禁用该按钮:
nextButton.isEnabled = false
当按钮被禁用时,您无法继续。启用后,您可以通过按下它来继续。
然后,您可以创建一种方法来监视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)
}
这是我为你创建的存储库。