點擊導航欄以外區域也會返回的問題

本文主要講述:點擊導航欄以外區域會觸發導航欄返回事件的解決辦法

前言:之前由於忙於開發一直未抽出時間來寫博客,所以一有時間就想寫寫博客用來記錄最近開發中遇到的一些小問題及解決辦法.

1,先說下問題所在:
這裏寫圖片描述
如上圖所示:在應用中,點擊導航欄綠色圈的區域也會觸發導航欄的返回事件.
注:這個問題只會出現在系統自帶的導航欄中,自定義的導航欄不會出現此問題,自定義導航欄返回按鈕的可點擊區域就是返回按鈕的size大小.

2,現在想要實現這個效果:
只在點擊返回按鈕時返回,點擊綠色區域不返回,可通過下面代碼實現.

新建UINavigationBar+click類目,如下圖所示
這裏寫圖片描述

在.m文件中添加如下代碼即可
這裏寫圖片描述

以下內容是:關於hitTest方法使用的延伸
注:hitTest這個方法很NB,可以進行事件轉移
比如:①有2個button,一個buttonA,一個buttonB,我想實現這個效果:在點擊buttonA的時候,讓buttonA不響應,讓buttonB響應,就可以通過hitTest這個方法實現;
②比如在tabBar上有五個按鈕,第三個按鈕凸出,如下圖所示:
這裏寫圖片描述

點擊第三個按鈕超出tabBar的那部分區域,正常情況下第三個按鈕不會響應,因爲你點擊的那部分超出了tabBar的範圍,但是如果你想實現點擊凸出的那塊區域也能響應的效果,也可以通過重寫hitTest這個方法實現,具體代碼可參考下圖:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章