Sha*_* BS 3 uiview uiresponder ios uievent
我正在做一个iPad应用程序.如何将触摸事件发送到其超级视图?
我正在添加一个始终是其他活动的视图.在那我我将scrollview添加到屏幕的一半,在另一半我添加另一个视图.一切正常,现在我想添加一个按钮和一个小的描述视图,当按钮被点击时会出现,再次点击按钮时会再次消失.为了实现这一点,我采用了一个覆盖整个视图并使其背景颜色清晰的视图.我将此按钮和描述视图放在此视图中,但由于透明视图,它不会滚动.
我想让这个透明视图忽略它的事件.
可以这样做吗?
The*_*ter 20
将视图的userInteractionEnabled属性设置为NO.这样可以让所有人触摸到它后面的视图.
您可以在属性检查器的界面构建器/故事板中或代码中进行设置:
yourView.userInteractionEnabled = NO;
Run Code Online (Sandbox Code Playgroud)
当你有一个带有按钮的透明视图时:
创建该视图的子类并覆盖该pointInside方法.我这样做的方法是将按钮的框架作为属性给予子类,以便在pointInside方法中检查:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
BOOL pointInside = NO;
// Check if the touch is in the button's frame
if (CGRectContainsPoint(_buttonFrame, point)) pointInside = YES;
return pointInside;
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
10585 次 |
| 最近记录: |