UITableViewCell subview (левая сторона) - PullRequest
1 голос
/ 09 апреля 2011

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

Редактировать: Как мне выполнить действие (в этом случае исчезнуть подпредставление), когда вся таблица входит в режим редактирования? (Не проводя пальцем по ячейке). Причина, по которой я хочу реализовать это, заключается в том, что табличное представление показывает кнопку «-» в левой части ячеек, если оно находится в режиме редактирования. (Я хочу показать свою собственную кнопку в левой части ячеек, если редактирование = НЕТ, затемнить, если редактирование = ДА, и показать ее снова, если tableView покидает режим редактирования (редактирование = НЕТ))

Первая мысль наводит меня на что-то вроде этого:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
    [super setEditing:editing animated:animated];
    if(editing) {
        //fade out my own button
    } else {
        //show my own button
    }
}

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

Ответы [ 2 ]

1 голос
/ 11 апреля 2011

В конце я создал пользовательскую UILabel, которую я использовал вместо textLabel UITableView по умолчанию, и добавил пользовательскую кнопку на левой стороне. В методе setEditing эта кнопка исчезает.

1 голос
/ 09 апреля 2011

Вы хотите установить вспомогательный вид редактирования UITableViewCell. См. editAccessoryView свойство для получения информации об этом. Дополнительную информацию можно найти в разделе Настройка ячеек Руководство по программированию TableView .

Метка в представлении содержимого ячейки табличного представления доступна только для чтения, поэтому вы не можете переназначить ее, но ее свойства могут изменяться. Вы действительно можете перемещать метку в пределах ячейки табличного представления. Возможно, это сложно понять, но взгляните на раздел Характеристики объектов ячейки в Руководстве по программированию табличного представления. В нем показаны ограничительные рамки для каждого из вложенных представлений (не все из них видны всегда). Для ваших целей хорошим упражнением будет установить цвет фона каждого подпредставления UITableViewCell на другой цвет, а затем попытаться отрегулировать их размеры. Поступая так и понимая, что происходит, возможно, вы достигнете желаемого конечного результата.

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