我正在尝试向WKLongPressGestureRecognizer
中的单元格添加WKInterfaceTable
。但这行不通。永远不会触发IBAction。
有什么我想念的技巧吗?还是在watchOS上根本不支持此功能?
答案 0 :(得分:1)
如果有帮助的话...我一直在努力奋斗,并努力做到: 在屏幕快照的“表格”下附加“长按手势识别器”,而不是“组”,并在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值确定长时间按下表中的哪一行。我一直在尝试找出如何以编程方式确定行高或将位置转换为对象的方法,但到目前为止却失败了,所以由于我实在不想对代码进行硬编码,因此我暂时放弃了此功能。行高。但是也许它使其他人更接近解决方案,或者适合可以安全地对行高进行硬编码的情况:)
我尝试过(失败)的其他路线,但可能是其他路线的起点(或节省一些时间):