Как обнаружить ответвление & провести на UITableViewCell
?Обнаружение касания и удержания в ячейках UITableView
ответ
В прошивкой 3.2 или более поздней версии вы можете использовать UILongPressGestureRecognizer
Вы, вероятно, следуешь обрабатывать UIControlTouchDown события и в зависимости от того, что вы подразумеваете под «держать», огнь NSTimer, который будет рассчитывать интервал, так как вы инициировали контакт и аннулирование при обжиге или отпускание прикосновения (UIControlTouchUpInside и UIControlTouchUpOutside событий). Когда срабатывает таймер, вы обнаружите, что ваш «отвод & удерживается».
Вот код, поднятый прямо из моего приложения. Вы должны добавить эти методы (и элемент boolean _cancelTouches) в класс, который вы получаете из UITableViewCell.
-(void) tapNHoldFired {
self->_cancelTouches = YES;
// DO WHATEVER YOU LIKE HERE!!!
}
-(void) cancelTapNHold {
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(tapNHoldFired) object:nil];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
self->_cancelTouches = NO;
[super touchesBegan:touches withEvent:event];
[self performSelector:@selector(tapNHoldFired) withObject:nil afterDelay:.7];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[self cancelTapNHold];
if (self->_cancelTouches)
return;
[super touchesEnded:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
[self cancelTapNHold];
[super touchesMoved:touches withEvent:event];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
[self cancelTapNHold];
[super touchesCancelled:touches withEvent:event];
}
Вы не должны использовать такой код self -> _ cancelTouches = YES; Вместо использования self.cancelTouches = YES; и объявить собственность приватной – Igor
Что это за синтаксис «-> _»? никогда не видел его раньше :) –
//Add gesture to a method where the view is being created. In this example long tap is added to tile (a subclass of UIView):
// Add long tap for the main tiles
UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTap:)];
[tile addGestureRecognizer:longPressGesture];
[longPressGesture release];
-(void) longTap:(UILongPressGestureRecognizer *)gestureRecognizer{
NSLog(@"gestureRecognizer= %@",gestureRecognizer);
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
NSLog(@"longTap began");
}
}
- 1. Обнаружение касания и удержания внутри UITableView
- 2. Обнаружение кранов на пользовательских ячейках UITableView
- 3. Обнаружение касания и удержания с помощью UITableViewCell, каковы мои варианты?
- 4. Обнаружение касания на пустой области UITableView
- 5. iOS Обнаружение касания и касания UIView
- 6. Обнаружение касания в UISearchBar
- 7. C# Monogame - обнаружение удержания мыши
- 8. Обнаружение жестов прокрутки и касания
- 9. Обнаружение удержания объекта - iPhone Цель
- 10. Дата и время форматирования в ячейках UITableView
- 11. CoreData и UITableView: отображаемые значения в ячейках
- 12. iOS: UIStepper в ячейках UITableView
- 13. Позиционирование UIImageViews в ячейках UITableView
- 14. Дублированные данные в ячейках UITableview
- 15. Графика в ячейках UITableView исчезает
- 16. Обнаружение касания и касания в представлении, содержащем UIControls
- 17. Обнаружение касания на изображении
- 18. Обнаружение касания активированного UITextField
- 19. Как отключить обнаружение касания?
- 20. Обнаружение касания подкласса UIImageView
- 21. Обнаружение касания Cocos2d-x
- 22. Обнаружение касания массива UIViews
- 23. Обнаружение прокрутки UITableView
- 24. Обнаружение касания движущегося UIImageView
- 25. Событие касания uitableview
- 26. Переключить настройку касания и удержания на планшет-пк
- 27. Обнаружение касания вне вида
- 28. Обнаружение касания изображения (cocos2d)?
- 29. Обнаружение касания на DirectedLocationOverlay
- 30. Обнаружение касания сферы в единстве
Я банкой не достаточно эксперта, чтобы прибыть из этого ответа на фактический код ... Но я имею в виду Держа такое же поведение в Mobile Safari при нажатии и удержании URL-адреса, чтобы всплыл экран действия, чтобы показать параметры этого URL-адреса – JFMartin