簡體   English   中英

允許用戶在非矩形UIView內容之外進行交互

[英]Allow user interaction outside a non rectangular UIView content

在顯示圓形圖像(需要保持交互)的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事件的元素放在圓圈之外。 如果這是不可避免的,則只要禁用您需要的時間,就禁用圓以外的所有元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM