如果应用蒙版,来自单元格的图像大小不正确?

时间:2017-12-01 11:45:03

标签: ios iphone swift uitableview swift3

我在每个单元格中编写一个带有图片的tableview单元格。 图片的宽度应该与下面的描述相同。 它在iphone 6上完美运行,但不适用于iphone 5s或iphone 6plus ...... 只有当我使用这个功能时才会出现问题:

let maskPath = UIBezierPath(roundedRect: cell.picStep.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 8.0, height: 0.0))
let maskLayer = CAShapeLayer()
maskLayer.path = maskPath.cgPath
cell.picStep.layer.mask = maskLayer

enter image description here

如果我没有面膜,那没关系: enter image description here

我怎样才能保持半径效果(仅在顶部)并且同时具有良好的宽度?

我尝试将“掩码函数”直接移动到单元格中,在awakeFromNib中,在layoutSubviews中,即使在tableViewController中,也没有任何工作:/

解决方案:

在我的TableViewController中,我有一个带约束的小函数:

if (indexPath.row + 1) % 2 == 0 {
     cell.constLView1.constant = 60
     cell.constRView1.constant = 15
} else {
     cell.constLView1.constant = 15
     cell.constRView1.constant = 60
}

我通过调用:

来改变获取roundRect的方式
roundedRect: CGRect(x: 0, y: 0, width: width - self.constLView1.constant - self.constRView1.constant, height: width - self.constLView1.constant - self.constRView1.constant

在单元格的layoutSubviews()中。 我不知道这是否是一个很好的方法,但它正在发挥作用......

0 个答案:

没有答案