Хобрук: Ваш путь к мастерству в программировании

Как создать TextField, например UITableViewCell?


Ответы:


1

просто добавьте UITextField к UITableViewCell вот так ..

UITextField* textField = [[UITextField alloc] initWithFrame:frame]; 

[cell addSubview:textField];
25.10.2011
  • Вы не должны добавлять подпредставления непосредственно в ячейку, а в ее contentView. Документы Apple: представление содержимого объекта UITableViewCell - это надзор по умолчанию для содержимого, отображаемого ячейкой. Если вы хотите настроить ячейки, просто добавив дополнительные представления, вам следует добавить их в представление содержимого, чтобы они располагались соответствующим образом при переходе ячейки в режим редактирования и выходе из него. 25.10.2011
  • Как я могу использовать их в своем коде, если я хочу восстановить значения для чего-то? 25.10.2011
  • @ziadtamim: создайте переменную экземпляра или свойство для указателя на текстовое поле и сохраните этот указатель там после создания поля. При желании, сделайте свойство выходом, создайте поле в наконечнике (а не в коде) и подключите к нему выход. 25.10.2011

  • 2

    Вы можете добавить его в содержимое ячейки следующим образом

    UITextField *textField = [[UITextField alloc] initWithFrame:rect];
    textField.tag = textTag;
    
    //Add textfield to contentView
    [cell.contentView addSubview:textField];
    

    Не забудьте пометить его, потому что, когда вы повторно используете ячейку, contentView НЕ очищается, поэтому вы должны просто использовать тот же UITextView, чтобы получить его позже, например:

    UITextField *textField = (UITextField *)[cell.contentView viewWithTag:textTag];
    

    Кроме того, я заметил, что в первый раз, когда вы создаете его и добавляете свое текстовое поле в contentView, а затем изменяете mainLabel, это subview будет наверху, поэтому, прежде чем возвращать ячейку, сделайте следующее:

    [cell.contentView bringSubviewToFront:textField];
    
    25.10.2011

    3

    Вы можете создать это в конструкторе интерфейсов. Перетащите UITableViewCell в рабочую область, введите свой UILabel или UITextField. Вы можете настроить внешний вид, если хотите.

    Теперь в вашем контроллере представления объявите IBOutlet для этого UITableViewCell. Когда программа вызывает cellForRowAtIndexPath, вы можете просто сделать ячейку равной этой переменной.

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

    25.10.2011

    4

    Вы можете создать UIView с некоторыми UILabels и некоторыми UITextField внутри. А с библиотекой и свойством cornerRadious слоя вида вы можете сделать закругленные границы.

    25.10.2011
    Новые материалы

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

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

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..