點擊事件處理, 以及hitTest:withEvent:實現(xiàn)--超出父視圖點擊事件處理注意的問題

公司項目是一個二次開發(fā)項目,tabar有一個按鈕是自定義的按鈕,點擊超出tabar范圍的部分就失靈了。然后呢,就根據(jù)http://www.itdecent.cn/p/ef83a798121c這篇文章重寫了hitTest:withEvent:方法。


重寫后,有一個詭異的事情出現(xiàn)了,在首頁點中間的按鈕,是木有問題的,按道理,解決啦

然后,在子頁面,嗯就是下面這個

點擊找人代付,跳出來的是同一個頁面


而本來該跳出來的是


直接上解決的代碼吧,其實在重寫的時候呢,也要把? ? ? ? // 1.判斷當前控件能否接收事件

? ? ? ? if(self.userInteractionEnabled==NO||self.hidden==YES||self.alpha<=0.01)returnnil;

添加進去的

//返回一個view來響應事件 解決發(fā)布按鈕超出bar frame而無法響應事件

- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent*)event

{

?? ?UIView*view = [superhitTest:pointwithEvent:event];

? ? if(view ==nil) {

? ? ? ? // 1.判斷當前控件能否接收事件? ? ? 很重要

if(self.userInteractionEnabled==NO||self.hidden==YES||self.alpha<=0.01)returnnil;

? ? ? ? CGPointchatP = [selfconvertPoint:pointtoView:self.publishButton];

? ? ? ? // 判斷下點在不在chatView上

? ? ? ? if([self.publishButtonpointInside:chatPwithEvent:event]) {

? ? ? ? ? ? returnself.publishButton;

? ? ? ? }

? ? }

? ? returnview;

}

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容