iOS 使點擊事件穿透透明的UIView


 

 

 

通過實例講解,如圖(三個深灰色按鈕處於同一個contentView中):

 

懸浮的三個按鈕下方有一個可以點擊的灰色區域,但是點擊按鈕之間的透明區域,

這三個按鈕的contentView會響應這個點擊事件,這時候需要讓這個contentView不響應這個點擊事件。

 

 

 

 

 

 

解決方法如下(將此方法增加到這個contentView類中即可):

 

- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
    UIView *hitView = [super hitTest:point withEvent:event];
    if(hitView == self){
        return nil;
    }
    return hitView;
}

 

 

 

 

查看這個方法相關的描述,如下:

 

 

 

返回值:

返回 farthest descendent (最后一級子視圖) ,在這個例子里面返回的也就是懸浮的按鈕。

返回 nil,就可以讓這個contentView無視這個點擊事件,也就將這個點擊事件傳了出去。

 

 

 

 

 

 


 Ficow原創,轉載請注明出處:http://www.cnblogs.com/ficow/p/5936288.html

 

廣大喵 Ficow Shen


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM