iOS8新功能 tableviewcell 自適應高度 iPhone5siPhone6 與iPhone6p的差別設置

自大iOS8推出了tableview自適應高度,我就一直想試試,恰好手上有個新聞的app須要用到就嘗試了下。app

使用流程不少博客上都有提,在storyboard中拉一個cell而後把裏面的元素都設置好約束。這個我常作,注意最後一個元素要設置到底部的約束。spa

在storyboard中我沒有將 打上勾code

而後結果就是這樣的了blog

iPhone6p上一切正常:博客

iPhone5和iPhone6上tableview的高度自適應就沒有成功:it

 

若是我打上了這個勾io

再來看下iPhone6p上:table

iPhone5s或iPhone6上:class

 

總結一下也就是說bfc

 
preferred width yes    No
iPhone6p
 異常

正常
iPhone5s or iPhone6 正常 異常

固然 preferred width的大小也關係着頁面是否正常。若設置的比屏幕寬度大,那麼即使選中,在iPhone5s或者6上依舊是會出現問題。

綜合一下我這邊給出的解決方案是 

1.不選中

2.在自定義cell的awakeFromNib中添加如下代碼。經過判斷機型來適配自適應。

    if (SCREEN_WIDTH < 414) {
        CGFloat preMaxWaith =200;
        [self.commentLabel setPreferredMaxLayoutWidth:preMaxWaith];
    }
相關文章
相關標籤/搜索