1

在显示圆形图像(需要保持交互)的 UIView 上,您将如何防止圆形之外的区域接收任何用户交互,以便该视图下的其他 ui 仍然处于活动状态?

我尝试用 CGPath 掩盖 UIView 但这没有帮助。在此处输入图像描述

有任何想法吗?

4

2 回答 2

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;
}
于 2012-07-17T16:44:36.403 回答
0

不要将任何接收 UI 事件的元素放在圈外。如果这是不可避免的,那么只要您需要,就禁用圆圈外的所有元素。

于 2012-07-17T12:22:42.013 回答