iOS-在stroyBord中設置好的控件(view、button、label等)在界面沒有顯示出來


今天更新使用xcode8,遇到一奇葩問題,之前顯示沒問題,今天允許查看,設備和模擬器都看不到控件,來兩張對比圖:銀行卡最左邊的圖片沒有顯示出來。

一般這種問題解決的思路:1.查看數據,2xcode犯神經,在storybord或者Xib里,上下拖動控件等等在這里就不多說了,

當然我這不是以上的原因,自己也是找了半天,哪里也沒有錯,因為是剛換的xcode8,所以把注意力轉移到編譯器特性上,問題就是在這里,在xcode8之前,我們在stroybord或者xib中所看到的布局,其實是一個初始值,編譯的時候才會跟進aotulayout去補齊布局,但是xcode8的初始值是不確定的,比如說一個按鈕在sb或者xib中的布局是  (0,0,100,100),編譯的時候 初始值有可能會很大,無限吧,所以這時候你如果拿這個初始值去操作(代碼),那么就會出現問題。

我這個問題是在cell中對imageView進行圓角操作,然后拿到imageView的寬度去設置,這里拿到的寬度並不是在sb/xib中看到的寬度,所以會出現問題,只有讓他布局完后再取寬度,或者是直接寫一個釘死的值比如50(寬度的一般)當然這樣做不好,所以我采用了第一種方式,[self layoutfromNib]需要布局時使用,布局完畢后拿到的值就是准確的值,所以這個搞定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM