1. 程式人生 > >UIButton無法點選的問題

UIButton無法點選的問題

其實不光是UIButton,很多控制元件都會碰到點選無效的問題,原因有很多,下面提一下我碰到過的問題。

1、父View無法點選

當把控制元件加入到一個UIView中,而這個view無法控制時,也即userInteractionEnabled = NO,那麼其中的所有子控制元件都無效,此時必須將view.userInteractionEnabled設定為YES。

2、父View的Frame設定不正確

當父View的frame沒有設定而子控制元件能顯示時,或者子控制元件的frame大於父view的frame時,子控制元件也無法點選。

3、被其它控制元件擋住了

這個是最有可能發生的情況。

比如在為UIView設定背景圖片時,在uiview上新增一個UIImageView,而且沒有放到最底層,就會覆蓋其它的子控制元件。

或者是在一個設定UINavigationBar為透明的ViewController中,將控制元件的位置放在UINavigationBar的位置時,就會被UINavigationBar擋住,而且這個問題很難調試出來,此時只要新增以下程式碼即可:

    self.navigationController.navigationBar.userInteractionEnabled = NO;