Reputation: 403
I can't figure out how to make a loop out of this outletCollection that is composed of textFields. I'm just jumping from one text field to another. The code works but a loop would be nice. Thanks in advance
if outletCollection[0].endEditing(true) {
outletCollection[1].becomeFirstResponder()
} else if outletCollection[1].endEditing(true) {
outletCollection[2].becomeFirstResponder()
} else if outletCollection[2].endEditing(true) {
outletCollection[3].becomeFirstResponder()
} else if outletCollection[3].endEditing(true) {
resignFirstResponder()
}
Upvotes: 0
Views: 266
Reputation: 403
this one works but it resigns the first responder at textfield 7 instead of 8(which is the last one) any suggestions?
for var i = 0; i < outletCollection.count; i++ {
if outletCollection[i].endEditing(true) {
i++
outletCollection[i].becomeFirstResponder()
if (outletCollection.last?.endEditing(true) != nil) {
resignFirstResponder()
}
}
}
Upvotes: 1
Reputation: 10296
Check this:
for index in 0..<outletCollection.count {
if outletCollection[index].endEditing(true) {
if index < outletCollection.count - 1 {
outletCollection[index + 1].becomeFirstResponder()
} else {
outletCollection[index].resignFirstResponder()
}
break
}
}
Upvotes: 0