我正在开发一个基于导航的仅限 iPhone 的应用程序,它有两个主要目的:一,在分层视图中呈现数据,允许用户向下钻取并最终编辑所述数据,二,让所有用户执行点击表格视图单元格时的默认操作。我现在需要提供一组与相同数据相关的选项;但是,didSelectRowAtIndexPath: 和 accessoryButtonTappedForRowAtIndexPath: 方法显然都被采用了。
所以,我的选择似乎是实现双击方法,其中附加选项的小列表将在(你猜对了)在所述表格行上双击之后显示;或者,最好是点击并保持方法。据我所知,点击并按住似乎是 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:方法处理双击。触摸处理方法必须处理所有这些。”
我真的很感谢你们中的一些处理过这个问题的人的指导。提前致谢。