【发布时间】:2013-09-25 19:25:53
【问题描述】:
我的视图底部有一个工具栏。有一个名为 Scan 的 UIBarButton 需要检测某人何时按住手指以及何时抬起手指。
因为 UIBarButton 继承自 UIControl 我无法检测到这一点。作为一种解决方法,我创建了一个不可见的 UIButton 并将其放在我的工具栏顶部,并简单地检测来自它而不是 UIBarButton 的触摸。
在我将视图呈现为模态视图(隐藏 UITabBar)之前,如果我触摸工具栏所在的位置我无法检测到它,这可以正常工作。如果我触摸工具栏上方,它就可以正常工作。
这是一个屏幕截图。 (隐形按钮已被涂成红色并拉高以进行测试)
在下面的屏幕截图中,如果您触摸工具栏所在的位置,则不会发生任何事情。但在它上面是红色的地方它工作得很好。
这是我的一些代码。
- (IBAction) scanTouchUp:(id)sender {
[linea barcodeStopScan:nil];
}
- (IBAction) scanTouchDown:(id)sender {
[linea barcodeStartScan:nil];
}
这些方法分别附加到“Touch Down”和“Touch Up Inside/Outside”。
任何帮助将不胜感激。
【问题讨论】:
-
所以红色部分是您仍想在模态视图中检测触摸的位置?只有红色部分?
-
是的,在红色框下方是一个 uibarbutton 项目,上面写着“扫描”。当您按住红色部分时,它会激活条码扫描器外围设备。
标签: ios objective-c uibutton touch uibarbuttonitem