在显示圆形图像(需要保持交互式)的UIView上,如何防止圆圈外的区域接收任何用户交互,因此该视图下的其他ui仍然处于活动状态?
我尝试使用CGPath屏蔽UIView,但这没有用。
任何想法?
答案 0 :(得分:1)
由于触摸事件在视图层次结构中向下冒泡,作为UIView,您可以检查触摸事件是否与您相关,如果它不仅仅返回NO并且该事件将向下传播到层次结构中的下一个UIView
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
for (UIView * view in [self subviews]) {
if ([view pointInside:[self convertPoint:point toView:view] withEvent:event]) {
return YES;
}
}
return NO;
}
答案 1 :(得分:0)
不要将任何接收UI事件的元素放在圆圈之外。 如果这是不可避免的,那么只要你需要就禁用圆圈外的所有元素。