iOS開發之Bug--UITextField使用時文字向下位移問題

來源:互聯網
上載者:User

標籤:

這個問題,在之前項目中偶然遇到過,但是bug不明顯,也不知道具體是哪種重現方式重現的,所以一直暫時略過了,但是隨著項目的系統的規模變大,代碼量越多,

這個問題出現的越來越明顯了。

於是就只能靠百度和google了,然後體會到百度是沒有成功的結果的,但是google卻有成功的結果:http://blog.csdn.net/qq_29892943/article/details/50515150

下面就拷貝賦值作者的筆記:

最近在使用UITextField這個控制項的時候,突然發現了一個問題,就是本來用起來沒問題的,但是突然在輸入文字之後切換到後台,然後再切換到前台,這時候在繼續輸入文字,會發現UITextField裡面的文字往下位移了,而且還會出現閃現等問題。於是,各種測試找答案,終於揪出了這個問題的關鍵點。
首先,我的這個問題出現在UINavigationController身上,ios7.0之後,當在UINavigationController的管理下push到一個新介面的時候,預設的新介面的frame自動下拉了64(也就是導覽列和狀態列的高度),底部不會變,依然會在螢幕的最下方。其實這一切都是automaticallyAdjustsScrollViewInsets在作怪。self.automaticallyAdjustsScrollViewInsets 這個屬性是IOS7才有的新方法,目的就是為了讓scrollView自動適應螢幕。這個屬性預設時yes,也就是自動在UINavigationController的push下,自動讓下一個介面的螢幕的frame下拉了64。要不然,如果下一個介面時tableview,那麼導覽列早就把tableview裡面的第一行資料給蓋著了。所以,UITextField出現這樣的問題,也是automaticallyAdjustsScrollViewInsets在中間搞的鬼,所以只要我們加入self.automaticallyAdjustsScrollViewInsets=NO;就可以解決了。而且當我們一個介面有多個tableView之類的,將它設定為NO,完全由自己手動來布局,也不會造成錯亂。

 

iOS開發之Bug--UITextField使用時文字向下位移問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.