Невозможно динамически генерировать UITextField вместо UILabel? - PullRequest
0 голосов
/ 21 ноября 2011

Я пытаюсь динамически генерировать UITextField вместо UILabel.Теперь я хочу обновить эти данные.Я отображаю данные в UILabel из базы данных, и есть кнопка UIB для редактирования.Когда я нажимаю на эту UIButton, UILextField должен генерироваться вместо UILabel, а также данные должны отображаться в UITextField.

Ответы [ 3 ]

1 голос
/ 21 ноября 2011

Что вы можете сделать, это создать представление со всем текстовым полем, которое работает в двух режимах: сначала только для чтения (установив userInteraction в false) и второй режим редактирования.Таким образом, вы можете избежать использования этикеток.Для этого потребуется только одна кнопка редактирования для всех полей.если вы все еще хотите придерживаться своего подхода, вы можете скрыть метки, использовать их рамки для создания текстовых полей на их месте и сделать их видимыми, пока вы работаете в режиме редактирования.Не забудьте использовать

[self.view bringSubviewToFront:TEXT_FIELD];

Пока вы добавляете их в свой вид.Управление редактированием с использованием подхода, о котором я упоминал ранее, более простое и требует меньше усилий.Надеюсь, это поможет

1 голос
/ 21 ноября 2011

вам нужно реализовать этот textField в файле .h, чтобы получить доступ к нему, когда вы закончите добавление. Затем в вашей кнопке обратного вызова:

textField = [[UITextField alloc] initWithFrame:[yourUILabel frame]];
[textField setText:yourUILabel.text];
[self.view addSubView:textField];

затем, чтобы заменить его обратно:

[yourUILabel setText:textField.text];
[textField removeFromSuperView];
0 голосов
/ 05 марта 2014

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

  • установите для ДА / НЕТ в зависимости от того, хотите ли вы, чтобы пользователь редактировал UITextField
  • установить borderStyle для UITextField (обычно между UITextBorderStyleRoundedRect и UITextBorderStyleNone)

Затем вы можете переключать значения enabled и borderStyle следующим образом: - при первоначальном просмотре: включено: НЕТ, стиль границы: UITextBorderStyleNone - при нажатии кнопки: включено: ДА, стиль границы: UITextBorderStyleRoundedRect

Вам не нужно возиться с иерархией представления и беспокоиться о фреймах и т. Д. Таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...