让用户仅在完成操作后访问视图 IOS Swift 3


如何

使用户只有在完成操作后才能访问视图?例如,仅当用户正确回答了 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)
}

这是我为你创建的存储库。

最新更新