UITableViewCell с несколькими жесты: долго нажмите и нажмите

Как говорится в этом вопросе, я хотел бы реализовать два разных действия для крана и долгое нажатие на UITableViewCell.

Я считаю, что я должен отменить выбор строки на каждом этапе и не включать здесь никаких функций:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:NO]; } 

А затем добавьте Tap Gestures из раскадровки, но Storyboard дает мне ошибку, когда я перетаскиваю действия в прототипы ячеек. Советы?

попробуй это –

В вашем методе cellForRowAtIndexPath вы можете добавить жест нажатия и длительный жест нажатия, а затем реализовать их. При этом ваша функция didselect не потребуется, и вам не нужно будет deSelect .

 UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(cellTapped:)]; tapGestureRecognizer.numberOfTapsRequired = 1; tapGestureRecognizer.numberOfTouchesRequired = 1; cell.tag = indexPath.row; [cell addGestureRecognizer:tapGestureRecognizer]; UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)]; lpgr.minimumPressDuration = 1.0; //seconds [cell addGestureRecognizer:lpgr]; cell.selectionStyle = UITableViewCellSelectionStyleNone; 

Теперь,

 -(void)handleLongPress:(UILongPressGestureRecognizer *)longPress { // Your code here } -(void)cellTapped:(UITapGestureRecognizer*)tap { // Your code here } 

Вы можете обрабатывать однократное действие с помощью метода UITableViewDelegate, который вы указали выше,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

для выполнения UILongPressGestureRecognizer на вашем UITableViewCell следуйте этим инструкциям .

Надеюсь, это поможет.

  • UITableView - повторное использование ячеек в режиме редактирования
  • Как достичь расширенного заголовка табличного представления
  • Лучший способ выбрать строку после ее вставки?
  • iphone UITable reloadRowsAtIndexPaths очень странная проблема
  • ios, swift: несколько таблиц, единый viewcontroller
  • Как обнаружить событие двойного касания / касания в виде таблицы
  • Исправлен прозрачный заголовок в UITableView
  • iOS: Как остановить фоновый поток от обновления пользовательского интерфейса в основном потоке?
  • Определить размер финального макета для просмотра с гибкой шириной в UITableViewCell
  • Невозможно получить доступ к NSString из другого класса - Objective-c
  • UITableView останавливает обновление контента при прокрутке через просмотр?
  • Interesting Posts

    Как я могу избежать хранения содержимого NSData в активной памяти?

    UIImagePickerController – отображает изображение на квадрат (на портрете)

    Как использовать глобальные / статические переменные OBJ-C

    Почему мой IBAction меняет текст ярлыка, который не работает?

    Цвет iOS прозрачный в UIImage

    Параметр UIPrerenderedIcon игнорируется в AppStore

    Как сделать данные видимыми для всех контроллеров представлений?

    Приложение iOS отклонено по причине 3.8 (неприемлемый рейтинг)

    Не удалось найти хост-адреса (ы) для расширения

    Xcode неправильно отображает значение переменных часов

    Сброс настроек push-уведомлений для приложения iOS?

    Проект iOS не будет компилироваться, просто киоски без ошибок при копировании swiftdocs

    Создание внутреннего сервера для iPhone-приложения

    Сенсорное зондирование в игре SK не воспринимает touchEnded

    Iphone / Ipad Добавить изображение и текст в заголовок навигации

    Давайте будем гением компьютера.