作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
这是我的类,它会画一个圆,看起来像这样:
class OvalLayer: CAShapeLayer {
let animationDuration: CFTimeInterval = 0.3
override init() {
super.init()
fillColor = Colors.green.CGColor
path = ovalPathSmall.CGPath
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var ovalPathStart: UIBezierPath {
let path = UIBezierPath(ovalInRect: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0))
return path
}
}
现在我需要在这个圆圈的中间添加一个文本,我试图在谷歌上找到它,但没有任何效果。我不确定这是否可能,如果可能,任何人都可以帮助我吗?
最佳答案
我猜你应该将 CATextLayer
作为 CALayer
的子层添加...这样工作很好:首先尝试添加 CAShapeLayer
,然后然后是 CATextLayer
(到相同的 CALayer
父层),例如按以下顺序...
// assume self - is UIView instance
self.layer.addSublayer(shapedLayer) // shapedLayer - CAShapeLayer instance
self.layer.addSublayer(textLayer) // textLayer - CATextLayer instance
关于ios - 如何在 CAShapeLayer 中添加标签或文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35037780/
我是一名优秀的程序员,十分优秀!