UITableViewCell Размах для ящика - PullRequest
8 голосов
/ 16 июля 2010

Это на самом деле больше любопытства, чем вопроса о жестком кодировании.

И в Facebook, и в Twitter есть функция, которая позволяет UITableViewCell анимировать ячейку сбоку, открывая ящик с большим количеством элементов управления под ним.Как это происходит?

Ответы [ 5 ]

6 голосов
/ 01 мая 2011

Вот отличный метод с открытым исходным кодом для выполнения именно этого, основанный на поведении приложения Twitter:

https://github.com/thermogl/TISwipeableTableView

5 голосов
/ 07 мая 2013

Это проблема, с которой я пробовал несколько разных решений.Мне очень понравилось поведение Mailbox (mailboxapp.com).Поэтому я решил достичь этого.В конце концов я получил очень простое решение: используйте UIScrollView внутри своей ячейки.У меня есть блог пост , в котором обсуждается пример примера , демонстрирующий такое поведение.

3 голосов
/ 23 августа 2010

2 способа обнаружения действия swipt

  1. посмотрите на willTransitionToState: метод UITableViewCell. этот метод будет вызван, когда вы проведете по ячейке.

  2. Обнаружение пользовательского считывания в TableViewCell

и тогда вы можете легко изменить вид ячейки.

1 голос
/ 24 августа 2010

Поскольку UITableViewCell - это просто UIView, вы можете использовать этот факт, чтобы в основном делать с ним что угодно.

Чтобы решить вашу проблему, я бы прикрепил UISwipeGestureRecognizer, чтобы обнаружить пролистывание, а затем анимировать вид в другое состояние.

Например, вы можете создать собственную ячейку с представлением содержимого, расположенным над «представлением действий». Всякий раз, когда происходит пролистывание, вы используете анимацию UIView, чтобы отодвинуть представление содержимого в сторону и вместо этого показать представление действия с помощью нескольких кнопок. В пользовательском UITableViewCell вы можете добавить протокол делегата, чтобы иметь нажатое действие, и ячейку, отправляемую делегату, т.е. вашему контроллеру. Там вы активируете все, что есть, и затем переводите ячейку из состояния.

1 голос
/ 17 августа 2010

Вы можете просто реализовать -tableView:willBeginEditingRowAtIndexPath: в своем делегате табличного представления.

Из документа ,

Этот метод вызывается, когда пользователь проводит горизонтально по строке; ... Этот метод дает делегату возможность настроить пользовательский интерфейс приложения в режим редактирования.

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