是平常開發中,特別是對於初學者而言,咱們編寫代碼,一步一步的驗證的時候,時常會出現控件沒法顯示的狀況, 這裏我總結了幾種可能出現控件不顯示的狀況和緣由, 但願能對iOS初學者能提供一些解決問題的思路和有更多的幫助:事件
*某個控件顯示不出來可能致使的緣由:圖片
在開發中,特別是在自定義某些控件的屬性的時候, 對於控件的frame若是沒有設置,或者設置錯誤了,控件確定是不會顯示正常的,因此當你遇到控件顯示不正常的時候,第一個須要思考的就是控件自己的frame屬性是否正常;開發
多數狀況下,咱們須要對控件的hidden屬性,也就是是否隱藏,做一些自定義, 因此,若是你檢查了frame屬性,肯定是對的,可是控件仍是不能顯示,那麼你能夠來考慮一下是否是在某個時刻咱們對這個控件的hidden屬性作了設置;文檔
還有一種狀況,那就是,當咱們須要把某個控件添加到一個父容器(父控件)中才會顯示的時候,若是,咱們忘記了添加的步驟,也是不會顯示控件的,因此,這個時候,你不妨來檢查一下這個方面;容器
經過蘋果的官方文檔,咱們知道,當一個控件的透明度大於>0.01的時候,是能夠監聽事件的,不然(<=0.01),是沒法監聽事件的, 因此,若是Alpha<= 0.01.系統就認爲這個控件不存在,此時不能監聽事件,固然,也就在運行的是沒法查看到控件了,方法
控件與控件之間都是有前後層疊次序的, 若是咱們須要顯示的控件被其餘控件給擋住了,那確定是看不到控件的顯示的,也就是咱們常說的:後添加的控件默認是添加在最上層的;總結
這個時候,咱們能夠去檢查一下控件的層疊次序,若是,你已經能夠固定某一個控件在最上面,你能夠調用一個方法,把它始終置於最上層: 如:思考
[self.view bringSubviewToFront:redView]; 經過bringSubviewToFront:這個方法,你就能夠始終把某一個控件置於最上層, 固然,有最上層也就有最下層,以下:view
//把中間圖片按鈕放置在全部圖層的最上面vi
[self.viewbringSubviewToFront:self.minidleIamgeViewButton];
//把背景圖片始終置於最下面一層
[self.viewsendSubviewToBack:self.downImageView];
若是,上面5中狀況,你都檢查了,仍是沒有找出緣由,那麼可能出現問題的是你的父控件了,因此,你能夠在逐步的檢查父控件的這幾種狀況;
上面的小總結,是我平常開發中的一些思考,但願能給你們帶來幫助,