我尝试在我的项目中使用KDCircularProgress在progressView类中固有的UIView类
init(frame: CGRect) {
progress = KDCircularProgress(frame: frame)
letter = "A"
super.init(frame: frame)
setupCircularProgress(frame: frame)
UILabel()
.add(to: self)
.layout { (make) in
make.center.equalToSuperview()
}.config { (view) in
view.text = letter
}
}
和setupCircularProgress函数:
func setupCircularProgress(frame:CGRect) {
progress.clockwise = true
progress.set(colors: randomColor(hue: .random, luminosity: .light))
progress.glowMode = .forward
progress.glowAmount = 0
progress.center = self.center
progress.trackColor = UIColor.white
self.addSubview(progress)
progress.animate(fromAngle: 0, toAngle: 360, duration: 5, completion: { completed in
if completed {
print("animation stopped, completed")
self.removeFromSuperview()
} else {
print("animation stopped, was interrupted")
}
})
}
在viewController中
LetterView(frame: CGRect(x: 50, y: 50, width: 50, height: 50)).add(to: self.playView!)
但它显示如下 showed view
我不知道为什么KDCircularProgress在框架之外,只有textLabel在正确的位置。 并且没有逻辑根据指定的帧显示KDCircularProgress视图。
如果有人处理过这种情况和问题,请告诉我如何解决。
答案 0 :(得分:0)
有趣的是,在我提出问题后,我得到了答案:)
在我的自定义UIView中,我应该像这样启动KDCircularProgress
progress = KDCircularProgress(frame: CGRect(x: 0, y: 0, width: frame.width, height: frame.height))
因为这个位置是相对于UIView。