我正在尝试将WKLongPressGestureRecognizer添加到WKInterfaceTable中的单元格。但不起作用。IBActions从不被解雇。我错过了什么诡计吗?或者这在watchOS上根本不受支持?

发布于 2019-12-18 10:31:25
万一有用的话..。我也一直在努力:在屏幕截图中“Table”下附加“长新闻手势识别器”,而不是“Group”,并链接到WKInterfaceController中的一个动作:
- (IBAction)didLongPress:(id)sender
{
if ([sender isKindOfClass:[WKLongPressGestureRecognizer class]])
{
WKLongPressGestureRecognizer * item=(WKLongPressGestureRecognizer *)sender;
CGPoint p=[item locationInObject];
NSLog(@"long press point: %f , %f. state=%d\n",p.x,p.y,[item state]);
}
}这不是最终的解决方案,但行动至少会被触发。不幸的是,当触发时,它会阻止didSelectRowAtIndex通过,因此很难判断哪一行已被长期按下。我对进展的最佳想法是使用p.y值来确定表中的哪一行被长时间按下。我一直在试图找出如何以编程方式确定行高或将一个位置转换为一个对象,但是到目前为止我已经失败了,所以我暂时放弃了这个功能,因为我并不真正想硬编码行高。但是,它可能会让其他人更接近解决方案,或者适合行高可以安全地进行硬编码的情况:)
我尝试过的其他路线(失败了),但对其他人来说可能是一个起点(或者节省一些时间):
https://stackoverflow.com/questions/54183877
复制相似问题