我正在尝试为我的TableViewCell创建一个循环指示器,类似于Apple Mail应用程序中的电子邮件标记为未读时. 我有以下代码: var Indicator = CAShapeLayer()var IndicatorSize: CGFloat = 10// standard blue colorl
我有以下代码:
var Indicator = CAShapeLayer() var IndicatorSize: CGFloat = 10 // standard blue color let blueColor = UIColor(red: 0, green: 122.0/255.0, blue:1.0, alpha:1) // create circular CAShapeLayer Indicator.bounds = CGRect(x:0, y:0, width:IndicatorSize, height:IndicatorSize) Indicator.position = CGPoint(x: 10, y: 10) Indicator.cornerRadius = Indicator.frame.size.width/2 // add as cell sublayer cell.layer.addSublayer(Indicator)
虽然这似乎可以完成这项工作,但是圆圈并不像邮件应用程序那样平滑,角落看起来几乎像素化.我不确定这是因为我使用的是CAShapeLayer.我想知道是否有更好的选择.
我也可以将它作为单元格的对象,而不仅仅是一个图层,以便我可以使用cell.Indicator调用它?
class CircleView: UIView { override func drawRect(rect: CGRect) { let context = UIGraphicsGetCurrentContext() self.tintColor.setFill() CGContextFillEllipseInRect(context, rect) } }