I have a couple of UITextFields in a static tableviewcontroller. I have specified a tag value for each textfield so that when the user clicks next on the keyboard I can get the textfield with the next tag and call becomesFirstResponder so that the user would navigate between textfields.
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
let tag = textField.tag
if let tf = self.view.viewWithTag(tag + 1) as? UITextField {
tf.becomeFirstResponder()
}
}
This would essentially work. However, when I use ReactiveKit/Bond, specifically when I call the following line (assuming that lastName is the next textfield) in viewdidload to bind the UI with the model:
profile.lastName.bidirectionalBind(to: lastName.reactive.text)
The next textfield (lastName) would become in edit mode for a couple of milliseconds then the keyboard is dismissed and the textfield is not in edit mode anymore.
When I comment out the bond line the logic would succeed. I have tried replacing the bidirectional bond with a 1-way bond or calling obserNext but this would cause the same problem as well.