我在我的iPhone项目中有以下设置(一个UIButton,其子视图为UIView):
我已经将我的UIButton的动作(touch-up-inside)与IB连接到了我的视图控制器。但不幸的是,由于UIView子视图不响应触摸事件并且不向其父视图转发,因此UIView阻止了OS调用我的UIButton的动作方法。
我该如何将UIView中的动作事件转发到其父视图UIButton上?以便UIButton“认为”它已被触摸,尽管子视图已被触摸。
我已经找到了以下链接,但它们没有帮助我:
- 如何在iOS中将触摸事件发送到父视图? - 如何将触摸事件传递给父视图? 如果有Objective-C的代码示例就更好了!
- UIButton // super-view <-------|
| <touch-event>
|_ UIView // sub-view ________|
我已经将我的UIButton的动作(touch-up-inside)与IB连接到了我的视图控制器。但不幸的是,由于UIView子视图不响应触摸事件并且不向其父视图转发,因此UIView阻止了OS调用我的UIButton的动作方法。
我该如何将UIView中的动作事件转发到其父视图UIButton上?以便UIButton“认为”它已被触摸,尽管子视图已被触摸。
我已经找到了以下链接,但它们没有帮助我:
- 如何在iOS中将触摸事件发送到父视图? - 如何将触摸事件传递给父视图? 如果有Objective-C的代码示例就更好了!
self.button.layer.zPosition = 1;
也不起作用。我是通过编程方式组合视图的。实例化一个新的UIButton
和UIView
,然后使用[UIButton addSubview:UIView]
将UIView
添加到UIButton
中。 - salocinx(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
并始终返回NO作为答案? - Markus Dheus