我們如何檢測&保持在UITableViewCell
?檢測UITableView單元格中的Tap&Hold
回答
在iOS 3.2或更高版本可以使用UILongPressGestureRecognizer
你或許應該處理UIControlTouchDown事件,這取決於你的意思是「持有」的東西,火的NSTimer,因爲你發起的觸摸,將計算的時間間隔,並在燒製時失效或釋放觸摸(UIControlTouchUpInside和UIControlTouchUpOutside events)。當定時器啓動時,您會檢測到「輕按&」。
下面是直接從我的應用程序解除的代碼。您應該將這些方法(和一個布爾_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 2010-04-12 11:58:23
這是什麼語法「 - > _」?從未見過它:) – 2010-09-29 03:03:11
//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. Swift中的cellForRowAtIndexPath中的UITableView中選擇檢測單元格
- 3. iOS)在UITableView中的單元格中檢測鍵盤
- 4. 檢查UITableView中的多個單元格
- 5. 如何檢測UITableView中的單元格選擇 - 斯威夫特
- 6. UITableView中的UICollectionView不檢測tap因爲view.addGestureRecognizer()
- 7. 在UITableView中檢索單元格
- 8. 如何檢測何時未選擇UITableView表格單元格?
- 9. 如何檢測UITableView中有多少個單元格可見
- 10. IPHONE - 檢測UITableView單元格上的水平手指滑動
- 11. 檢測「#VALUE!」 EPPLUS中的單元格C#
- 12. 檢測空單元格
- 13. 單元格動畫,uitableview單元格
- 14. UITableView按單元格滾動單元格
- 15. 格式化iPhone中的UITableView單元格
- 16. 單元測試的UITableView
- 17. 在Swift中檢測GMSPolyline上的tap?
- 18. Swift SKSpriteNode:檢測Tap/DoubleTap/LongPress
- 19. 如何檢測從iOS的uitableview中刪除單元格的邊界情況?
- 20. UITableView的移動單元格
- 21. UITableView單元格的高度
- 22. Uitableview不同的單元格
- 23. 多餘的UITableView單元格
- 24. UITableView的空白單元格
- 25. 檢測另一個單元格內的單元格選擇
- 26. AQGridView長按網格單元格檢測
- 27. 如何檢測單元陣列中的空單元格?
- 28. 檢測最寬的單元格w/jQuery
- 29. 修改UITableView中didSelectRowAtIndexPath上的單元格
- 30. UITableView中的動畫單元格
我沒有足夠的專家來自這個答案實際代碼都可以......但我的意思是在保持相同的行爲移動Safari瀏覽器時,點擊並持有URL以彈出操作表,以顯示有關此URL的選項 – JFMartin 2009-10-29 00:40:18