我正在尝试为我的TableViewCell创建一个循环指示器,类似于Apple Mail应用程序中的电子邮件标记为未读时.
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.我想知道是否有更好的选择.
解决方法
class CircleView: UIView { override func drawRect(rect: CGRect) { let context = UIGraphicsGetCurrentContext() self.tintColor.setFill() CGContextFillEllipseInRect(context,rect) } }