单元格内容从CGRectZero中生长出来,因为它们出现在collectionViewCell(iOS)中

时间:2015-11-24 00:34:32

标签: ios swift uicollectionview uicollectionviewcell

我有一个包含UICollectionView的应用。

首次出现collectionView时,可以看到每个单元格中包含的图像从CGRectZero的大小调整为最终大小。

所有单元格imageView都在storyboard中显式调整为常量高度和宽度,并在sizeForItemAtIndexPath中明确调整单元格大小。

只是想知道是否有其他人遇到过此问题并找到了解决方案。根据我的阅读,我需要添加layoutIfNeeded。我已经尝试将此添加到viewWillAppear但它没有帮助。任何帮助将不胜感激。

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Image Cell", forIndexPath: indexPath) as! ImageCollectionViewCell
    cell.messageDateLabel.text = dateString
    if let imageData = message.image {
        let messageImage = UIImage(data: imageData)
        cell.messageImage = messageImage
    }
    return cell
}


func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

        let size = CGSizeMake(self.chatCollectionView.frame.size.width, Storyboard.ImageHeight)
        return size
    }

collectionView在containerView中显示如下:

override func viewDidLoad() {
        super.viewDidLoad()

        imageCollectionViewController = self.storyboard?.instantiateViewControllerWithIdentifier("imageCollectionViewController") as? imageCollectionViewController

        self.imageCollectionViewController!.view.translatesAutoresizingMaskIntoConstraints = false

        self.addChildViewController(self.imageCollectionViewController!)
        self.addSubview(self.imageCollectionViewController!.view, toView: self.containerView)
        self.tabBarController?.tabBar.hidden = true
    }

0 个答案:

没有答案