我有一个观点,我想使用户选项卡UIButton
后它来画,我已经做到这一点使用UIPanGestureRecognizer
,加UIPanGestureRecognizer
这一观点后UIButton
联系,但问题是我完成绘图后如何删除此UIPanGestureRecognizer
并重新触摸UIButton
?删除UIPanGestureRecognizer之后添加它来查看
0
A
回答
2
的UIView有一个名为
- (void)removeGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
或者方法,你可以通过使用方法
- (void)removeTarget:(id)target action:(SEL)action
0
UIPanGestureRecognizer gestureRecognizer.cancelsTouchesInView = NO;
0
如果您有多个平移手势识别删除其回调暂时禁用UIGestureRecognizer查看,您可以用关联的对象标记特定的一个。
What is objc_setAssociatedObject() and in what cases should it be used?
因此,在您.m文件的顶部,你就会把
static char overviewKey;
然后你把你的UIPanGestureRecognizer
来查看权限之前,你有一个字符串标记它。
objc_setAssociatedObject(panGesture, &overviewKey, @"pan gesture for drawing", OBJC_ASSOCIATION_RETAIN_NONATOMIC);
[someView addGestureRecognizer:panGesture];
当你要删除的UIPanGestureRecognizer
,你会去通过所有的手势识别在该视图中,找到一个用字符串,并将其删除。
for (UIGestureRecognizer *gesture in someView) {
NSString *gestureTag= objc_getAssociatedObject(gesture, &overviewKey);
if (gestureTag==nil) {
continue;
}
if ([gestureTag isEqual:@"pan gesture for drawing"]) {
[ someView removeGestureRecognizer:gesture ];
}
}
相关问题
- 1. 查看删除之前它加载
- 2. 列表显示/添加/删除查看
- 3. 删除TextChangedListener然后重新添加它
- 4. UIPanGestureRecognizer之后的CABasicAnimation
- 5. 添加UIPanGestureRecognizer到UIView
- 6. 添加后再次删除
- 7. 辞典添加删除后
- 8. 在匹配模式之后/之前添加/删除单词
- 9. html5 canvas百分比加载。任何方式来删除点后的长值。它看起来很难看
- 10. EmberJS - 添加的方法来查看和调用它
- 11. 查看QListWidget中的文本文件,添加和删除
- 12. 添加/删除vtkActors或查看其可见性是否更好?
- 13. 添加和删除此列表的标题查看
- 14. 课程时间表添加,查看,更新和删除记录
- 15. 将删除按钮添加到UICollection查看
- 16. 添加,删除和查看数据的应用程序
- 17. 删除其它表查找后 - SQL
- 18. 添加惯性到UIPanGestureRecognizer
- 19. ,直到子视图加入到它(SWIFT)UIPanGestureRecognizer工作在查看精品
- 20. 删除函数并再次添加它
- 21. Eclipse RCP的 - 添加之后立即查看已创建
- 22. 骨干:查看删除/删除
- 23. 在删除后端查找后在前端查看访问表
- 24. 删除它们后加回NA
- 25. 厨师:用刀子删除节点并稍后添加它
- 26. 在删除并添加控件后,它不可见
- 27. Jquery添加行,然后删除它们,如果不需要
- 28. 将UILabel添加到我的视图后,如何删除它?
- 29. 使用Jquery添加和删除它后计算输入字段
- 30. 如何删除onClick,然后再添加它?
但我可以检测到对象是否有识别器? 从哪里可以调用removeTarget? –
您可以通过其gestureRecognizers属性获取与UIView关联的识别器。您可以调用要禁用的UIGestureRecognizer上的remove target。 – jbat100
但如果我有很多识别器,我可以如何从gestureRecognizers中获得特定的识别器? –