Пользовательский режим редактирования UITableView
У меня есть UITableView с пользовательскими ячейками, и я хочу сделать режим редактирования похожим на то, что есть в приложении Почта iOS.
Мой взгляд выглядит так:
и когда я нажимаю Изменить в правом верхнем углу, он меняется на это:
Эти кошки справа - кнопки UIB. Проблема в том, что когда я касаюсь их, Touch Up Inside или любое другое событие не запускается.
В каждой ячейке для UITableViewCellEditingStyle установлено значение none, поэтому у меня нет стандартных значков плюса и минуса. Вместо этого в моем пользовательском представлении ячейки таблицы я поместил UIButton (кошку) "вне представления" (X = -33), чтобы он появлялся, когда TableView входит в режим редактирования.
Когда я пытаюсь коснуться кота, подкраска внутри не срабатывает, с другой стороны, кнопка расширения справа работает нормально все время.
Есть идеи? Любая помощь будет высоко ценится.
1 ответ
Установив свою кнопку "кошка" на -33, вы отключите контент-представление ячейки. В этом случае кнопка видна, но она не обнаруживает никаких прикосновений или каких-либо действий пользователя. Вместо этого, если вы делаете это, вы можете использовать методы делегата UITableView:
-(void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath*)indexPath
{
// add your "cat" button here
}
-(void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath*)indexPath
{
// remove your "cat" button here
}