我正在研究一个基于导航的iPhone应用程序,该应用程序有两个主要用途:一,以分层视图呈现数据,允许用户深入并最终编辑所述数据,二,在所有用户点击表格视图单元格时执行默认操作。我现在需要提供一组与相同数据绑定的选项;然而,显然采用了didSelectRowAtIndexPath:和accessoryButtonTappedForRowAtIndexPath:方法。UITouch事件和表格视图
所以,我的选择似乎是实现一个双抽头方法,其中附加选项的小列表将出现在(你猜对了)在所述表格行上的双击;或者优选地是轻敲和保持方法。从我所知道的来看,点击并保持似乎是SDK 4.0中的方式 - 这对我这个炙手可热的时刻来说没有好处。我决定采用双击选项,但我遇到了一些麻烦。
首先,touchesBegan:withEvent:方法似乎根本不会被调用;放在方法内的断点不会被调用,而应用程序运行,并表视图响应,正是因为它做之前,我插入的方法(这是说,它执行的默认操作):
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *aTouch = [touches anyObject];
if (aTouch.tapCount == 2) {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}
}
其次,我并不需要处理单击 - didSelectRowAtIndexPath:方法可以处理单击即可。双击是我想要处理的时髦。我怀疑答案会包含这样一句话:“你不能让表视图处理单击,touchesBegan:方法处理双击,触摸处理方法必须处理所有这些。”
我真的很感谢你们中的一些人处理过这个问题。提前致谢。