2015-06-03 4 views
1

У меня есть приложение IOS, с одной UIView и три UITextField (более 1) я бы понять, что лучшие практики для моего класса ViewController для управления UITextField.IOS быстр делегат с более чем 1 UITextField в UIView

- класс MainViewController: UIViewController, UITextFieldDelegate?

Интересно, что, потому что у меня больше, чем один UITextField и только один func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool

ответ

9

Самый простой способ узнать, что текстовое поле для использования в методах делегата. То есть у вас есть 3 текстовых поля: field1, field2, field3 и когда делегат называется вы можете обнаружить, что делать:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if textField == field1 { 
     // do something 
    } else if textField == field2 { 
     // do something 
    } else if textField == field3 { 
     // do something 
    } 
    return true 
} 

Не забудьте сделать делегатом всех полевых, как я: field1.delegate = self и т.д.

В вашем случае он будет работать нормально.

Если вы хотите узнать лучшее решение, если у вас есть больше полей (10, 20?), Дайте мне знать, и я обновлю свой ответ.

+0

Что делать с 10 или 20 полями? Не могли бы вы обновить свой ответ. –

+0

Есть ли лучшее решение (-ы)? Было бы лучше, если бы кто-то мог записать все возможные альтернативы. –

Смежные вопросы