升級了Xcode 8最近帶來了一個很坑爹的問題,獲取UIView的寬度和高度不正確,項目通過Xcode 8編譯之后,在UIView還沒有“布局完畢”的時候默認返回的frame的size大小為1000x1000,等到“布局完畢”后才能獲取到正確的大小。
項目中坑爹的地方就是圖片圓角設置問題,在viewDidLoad中通過frame的高度去設置圓角會導致圖片不顯示,已經升級可以自己嘗試一下:
在viewDidLoad或者awakeFromNib調用完super方法后再調用View的layoutIfNeeded即可獲取到正確的frame值。
self.button.layer.cornerRadius = CGRectGetHeight(self.button.frame)/2;
解決方式有兩種:
1.最簡單的方式,xCode打開對應的StoryBoard,將Open in設置為7.x版本:
FlyElephant.png
2.代碼方式:
①在viewDidLoad或者awakeFromNib調用完super方法后再調用View的layoutIfNeeded即可獲取到正確的frame值
[self.view layoutIfNeeded];
②viewWillLayoutSubviews中修改:
[super viewWillLayoutSubviews];