2017-06-12 46 views
0

當我執行下面的代碼UICollectionView細胞不能更新框架:通過使用sizeForItemAt方法斯威夫特:當執行sizeForItemAtIndexPath

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{ 

    let cellW = (ScreenWidth - 10 - 10 - 30)/4 

    return CGSize(width: cellW, height: cellW * 1.5) 

} 

,我可以畫幀我想要什麼,但我自定義的CollectionView細胞無法更新爲明智,我錯過了什麼,PLZ幫助我!

my custom cell

debug view

+0

添加約束你的圖片前/後/頂的SuperView?併爲底部視圖添加缺少的約束? – Larme

+0

我已經爲我的imageview和標籤添加了約束,看起來像collectionview單元格的問題,也許我在awakefromNib中丟失了一些東西? http://imgur.com/a/6N9qC –

+0

http://imgur.com/a/XOVTn這是我的故事板collectionview單元框架 –

回答

0

我這個裁判修復 UICollectionView cell subviews do not resize

感謝球員,在弗里斯特仍然有問題,我Cell.imageview,不能塑造輪,因爲我想,和我創建了一個類ImageView的,如下所示:

class CellImageView: UIImageView { 
override func layoutSubviews() { 
    super.layoutSubviews() 
    let radius: CGFloat = self.bounds.size.width/2.0 
    self.layer.cornerRadius = radius 
    self.clipsToBounds = true 

} 

和任何工作perfec TLY

0

請你CollectionViewCell類中設置這個

override func awakeFromNib() 
{ 
    self.contentView.autoresizingMask.insert(.flexibleHeight) 
    self.contentView.autoresizingMask.insert(.flexibleWidth) 
} 

它可幫助您