在我的自定义UIView和draw:inRect
初始化程序中,我有以下代码:
override func draw(_ rect: CGRect) {
super.draw(rect)
//...
let axisPath = UIBezierPath()
axisPath.move(to: CGPoint(x: paddingHorizontal + 20, y: paddingVertical))
axisPath.addLine(to: CGPoint(x: leftOffset, y: bottomOffset))
axisPath.addLine(to: CGPoint(x: rect.width - paddingHorizontal, y: bottomOffset))
axisPath.lineWidth = 1
UIColor.black.set()
axisPath.stroke()
var currentIndex = 0
for yearData in data {
//...
let circle = UIBezierPath(roundedRect: CGRect(x: x - 4, y: y - 4, width: 8, height: 8), cornerRadius: 4)
circle.fill()
circle.stroke() //red circle, I need to make it blinking somehow
//...
}
//...
}
结果如下:
现在我需要使红色圆圈闪烁:)我该怎么做?
最佳答案
我会采取另一种方法。仅将draw(_:)
用于图形的静态部分。
闪烁的红色圆圈应该是在图形视图上添加的一个简单的小子视图。使用重复的UIView
动画通过其alpha
属性淡入和淡出小圆圈视图。
有关执行闪烁动画的示例,请参见How do I get this fade animation to work?。
关于ios - 如何在UIView的draw:indiRect:方法内添加闪烁的圆圈?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43659967/