Кнопка ios iphone delete (проведите пальцем, чтобы удалить) портит содержимое uitablecellview - PullRequest
0 голосов
/ 18 мая 2011

У меня проблема с UITableCellView. Когда появляется кнопка удаления, она портит строку моей таблицы.

Например:

-------------------
blah blah blah blah
-------------------
line 2
-------------------
so on...
-------------------

... и после того, как я попытался провести пальцем, чтобы удалить в строке 1,

--------------------
blah blah   [delete]
blah ---------------
blah  2
--------------------
so on...
--------------------

Не уверен, как это исправить.

Есть ли способ заставить UITableCellView не сжиматься, когда появляется кнопка удаления?

Просто чтобы уточнить, я подклассифицировал UITableCellView с перезаписанным layoutSubviews, но очень, очень простым способом. Я просто помещаю свои этикетки и вычисляю размер и прочее, очень просто.

Если вы попробуете то же самое в почтовом приложении или приложении на Facebook, кнопка удаления просто пролистает содержимое строки ячейки таблицы. Как я могу это сделать?

Ответы [ 4 ]

1 голос
/ 18 мая 2011

Вам придется использовать

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
    [super setEditing:editing animated:animated];

    if (editing) {
        // EDITING state

        // You can describe animations here

     } else {
        // NORMAL state
     }

}

метод описания изменений в вашем UITableViewCell подклассе

0 голосов
/ 06 марта 2012

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

Мне потребовалось некоторое время, чтобы наконец понять, что после того, как я изменил «Разрывы строк» ​​на «Клип», все работало правильно.

Да, и если у вас есть текстовое поле / метка для автоматического изменения размера, это также испортит макет во время действия смахивания.

0 голосов
/ 18 мая 2011

Если вы не хотите, чтобы подпредставления вашей ячейки сокращались в режиме редактирования, попробуйте установить autoresizingMask подпредставлений вашей ячейки в:

_messageLabel.autoresizingMask = UIViewAutoresizingNone;
0 голосов
/ 18 мая 2011

Вам нужно установить lineBreakMode для метки.

label.lineBreakMode = UILineBreakModeTailTruncation;
...