今天更新使用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]需要布局時使用,布局完畢后拿到的值就是准確的值,所以這個搞定。