在自定义 UICollectionView(具有客户 UICollectionViewCell 和 UICollectionViewLayout)的设备旋转之后,如何触发重绘(即调用 drawrect)?
自定义 UICollectionViewCell 的额外功能:
override func drawRect(rect: CGRect) {
let path = UIBezierPath(roundedRect: self.bounds.insetBy(dx: 1, dy: 1), cornerRadius: 50)
path.lineWidth = 3
UIColor.blueColor().setStroke()
path.stroke()
}
轮换前
旋转后(布局已更新,注意标签已移动,但在 drawRect 中绘制的椭圆形并未移动,日志记录显示旋转时未调用“drawRect”)
最佳答案
旋转后需要调用cell.setNeedsDisplay()
。这将导致单元格的 drawRect:
方法再次被触发。
关于ios - 如何在自定义 UICollectionView 旋转后触发 drawrect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194644/