2016-02-02 1 views
0

У меня есть два UITextField, это нормальное текстовое поле, которое требует ввода текста. Другой подключен к UIPickerView. Когда я нажимаю UITextField, который подключен к pickerView, появляется курсор, текстовое поле не редактируется, поскольку клавиатура является pickerView, но текст можно скопировать и вставить в нее. Любая помощь??два uitextfield я хочу, чтобы один был отключен, поэтому его нельзя редактировать - SWIFT

Я попытался исправить это с помощью метода UITextFieldDelegate

 func textFieldShouldBeginEditing(textField: UITextField) -> Bool { } 

Но он контролирует оба моих TextFields и не решить мою проблему.

Спасибо в продвинутом !!!

ответ

2

две вещи:

Во-первых, когда вы реализуете методы делегата, как это, вы должны вернуть другое значение, на основании которого текстовое поле передается в один относительно простой способ сделать это, чтобы указать числовой тег. для каждого текстового поля в Interface Builder, а затем в методе делегата сравните свойство тега поля переданного поля с ожидаемыми значениями.

Во-вторых, вы, вероятно, должны сделать это, просто установив для свойства enabled в текстовое поле значение НЕТ вместо того, чтобы внедрять метод делегата и пытаться предотвратить редактирование.

+0

Если текстовое поле не включено, то при нажатии на него не отображается опция выбора. – Junior

+0

Я попытался отделить их тегами и дать им собственные методы, но функция требует возврата. а после возврата реализован какой-либо код после того, как в него не повлияли? – Junior

+0

В методе делегата textFieldShouldBeginEditing для поля с представлением выборщика вам также необходимо явно показать представление выбора. См. Http://stackoverflow.com/questions/26819423/show-uipickerview-text-field-is-selected-then-hide-after-selected для примера. – dgatwood

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