在自定义UICollectionViewCell中调整xib的大小

时间:2016-02-14 14:32:05

标签: ios uicollectionview

我有一个自定义UICollectionViewCell,它位于.xib文件中。大小为194 x 200并设置了自动布局约束:

one

这就是班级的样子

class DurationDayCollectionViewCell: UICollectionViewCell {

    @IBOutlet weak var banner: UIView!
    @IBOutlet weak var numberOfHours: UILabel!
    @IBOutlet weak var unitHrs: UILabel!
    @IBOutlet weak var dayOfWeek: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()

    }

但是在我的集合视图中它看起来像这样:

two

细胞的大小较小(97 x 100)。有没有办法让笔尖自动调整到集合视图单元的大小?

2 个答案:

答案 0 :(得分:0)

点击工作台上的your xib,找到右侧Simulator Metrics并将尺寸更改为 - > Freeform稍后点击Show size inspector选择freeform,然后在那里写下您的widthheight以后的版本将有效!

由于

答案 1 :(得分:0)

遇到了完全相同的问题,用这两种解决方案中的任何一种解决了:

  1. 在故事板中,单击集合视图,单击大小检查器,将“估计大小”设置为“无”

  1. 在您的自定义单元格类中,添加此方法:

override func preferredLayoutAttributesFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes {

        let preferredLayoutAttributes = layoutAttributes
        var adjustedFrame = layoutAttributes.frame
        adjustedFrame.size.height = 180 //change according to your case
        adjustedFrame.size.width = 100 
        preferredLayoutAttributes.frame = adjustedFrame

        return preferredLayoutAttributes
    }