在显示圆形图像(需要保持交互)的 UIView 上,您将如何防止圆形之外的区域接收任何用户交互,以便该视图下的其他 ui 仍然处于活动状态?
我尝试用 CGPath 掩盖 UIView 但这没有帮助。
有任何想法吗?
在显示圆形图像(需要保持交互)的 UIView 上,您将如何防止圆形之外的区域接收任何用户交互,以便该视图下的其他 ui 仍然处于活动状态?
我尝试用 CGPath 掩盖 UIView 但这没有帮助。
有任何想法吗?
由于触摸事件在视图层次结构中冒泡,作为 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;
}
不要将任何接收 UI 事件的元素放在圈外。如果这是不可避免的,那么只要您需要,就禁用圆圈外的所有元素。