本文主要是介绍iOS 如何让超出父视图的部分响应事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.demo
奉上自己的demo
2. 不能点击的原因
由于找不到hittest view,所以没有可以响应的uiresponser对象,所以点击没有任何反应
3. 解决思想
覆写hittest方法让父视图可以找到这个视图就好
4. 代码演示
- (UIView *)hitTest:(CGPoint)point withEvent: (UIEvent *)event
{if (!self.isUserInteractionEnabled|| self.isHidden|| self.alpha <= 0.01){return nil;}else{for (UIView *subView in [self.subviews reverseObjectEnumerator]) {CGPoint convertedPoint = [subView convertPoint:point fromView:self];UIView *hitView = [subView hitTest:convertedPoint withEvent:event];if (hitView){return hitView;}}return self;}
}
这篇关于iOS 如何让超出父视图的部分响应事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!