Всем привет! у меня есть метод:
func checkEmptyFields() {
for i in 0..<zoneArray.count {
let indexPath = IndexPath(row: i, section: 0)
let cell : DemoTableViewCell? = self.tableView.cellForRow(at: indexPath) as! DemoTableViewCell?
let zone = self.zoneArray[indexPath.row]
if zone.zoneName == nil {
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
} else {
checkComplete = true
}
if cell?.zoneTextField.text == "" {
checkComplete = false
cell?.zoneTextField.becomeFirstResponder()
showAlert(title: "Empty Zone Name", message: "Enter the name of the Zone \(zone.zoneNumber!)")
return
}
if zone.outletNumber == nil {
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
} else {
checkComplete = true
}
if cell?.outletTextField.text == "" {
checkComplete = false
cell?.outletTextField.becomeFirstResponder()
showAlert(title: "Empty No. of Outlet", message: "Enter the outlet's number of the Zone \(zone.zoneNumber!)")
return
}
}
}
Я создаю таблицу, добавляю n-ое количество строк. Этот метод проверяет текстовые поля на наличие текста. И если текстовое поле пустое, то метод должен перевести курсор на первое пустое текстовое поле ( и откроется клавиатура). Этот метод работает только тогда, когда количество строк такое, что не нужно скролить таблицу, то есть все строки видны на экране полностью.
Но стоит мне добавить строк 15, и про скролить вниз, а затем вызвать этот метод - то таблица не скролится на первое текстовое поле (которое я не заполнил, соответственно).
Подскажите друзья, что не так?