Как переформатировать пользовательский UITableViewCell в режиме редактирования, чтобы разместить элементы управления Delete? - PullRequest
4 голосов
/ 06 декабря 2011

У меня есть пользовательский UITableViewCell, который содержит UILabel, где отображаются переменные объемы текста.Высота ячейки рассчитывается динамически для размещения объема текста.

Проблема в том, что UILabel / текст не переформатируется в режиме редактирования (Удалить), как показано на следующих снимках экрана.

Мне нужно использовать пользовательские ячейки, а не стандартную textLabel и т. Д., Поскольку в других строках есть более сложные ситуации с несколькими элементами управления по сравнению с этой с одним UILabel.

a) Вот ячейки таблицыс контролем UILabel.Высота каждой ячейки рассчитывается динамически на основе объема текста.

Before edit

b) Когда начинается режим редактирования, отображается элемент управления редактирования (красный круг), который толкает текстс правой стороны экрана.

Edit control displayed, text off screen

c) Затем, когда выбран элемент управления для редактирования и отображается кнопка «Удалить», он перекрывает текст.

Delete button overlaying text

Цель состоит в том, чтобы текстовая область (рамка UILabel) уменьшила ее ширину и увеличила высоту, чтобы вместить весь текст, когда редактирование начинается с "b)".Когда кнопка «Удалить» отображается «c)», высота текста остается прежней, а текст, который не помещается, может быть обрезан, а элипсис «...» отображается.

1 Ответ

4 голосов
/ 06 декабря 2011

Этого можно достичь, убедившись, что вы добавляете UILabel в contentView UITableViewCell и правильно настроили маски авторазмера для UILabel. Вы уже пробовали это?

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