我编写了一个代码来在UITableView中绘制卡片,每张卡片需要自己绘制,并在示例中具有自定义的rowheight,以240高度绘制2张卡片,高度为240/2的其他8张卡片。
我为您提供了问题的屏幕:
最后一张但一张卡片的设计很奇怪。当我打印框架的边界时,它显示出与其他框架相同的大小...
我将您的验证码提供给您:
func drawBasiqCard() -> CGFloat{
if(cardView.subviews.count == 0){
self.addSubview(cardView)
cardView.frame = CGRect(marginCardWidth,
marginCardHeight,
self.bounds.size.width - (marginCardWidth*2),
basiqCardtHeight - (marginCardHeight*2))
cardView.layer.cornerRadius = 10
print(cardView.bounds.size.height)
}
if(self.ShadowLayerCard == nil){
let rounding = CGFloat.init(10)
let shadowLayer = CAShapeLayer.init()
self.ShadowLayerCard = shadowLayer
shadowLayer.path = UIBezierPath.init(roundedRect: cardView.bounds, cornerRadius: rounding).cgPath
shadowLayer.fillColor = UIColor(rgb: 0xffcc00).cgColor
shadowLayer.shadowPath = shadowLayer.path
shadowLayer.shadowColor = UIColor.black.cgColor
shadowLayer.shadowRadius = 5
shadowLayer.shadowOpacity = 0.2
shadowLayer.shadowOffset = CGSize.init(width: 0, height: 0)
cardView.layer.insertSublayer(shadowLayer, at: 0)
}
return cardView.bounds.size.height + (marginCardHeight*2)
}
所以我的问题是,上面的代码很好吗?还是我的错误不在这里?代码在哪里可以产生这种视觉错误? 如果您需要UITableView的代码,我可以向您显示。
感谢您的答复。