我不确定如何在我正在创建的循环CAShapeLayer中使用UIImageView。目前,UIImageView(imageViewObject)太大了,掩盖了我制作的另外两个UILabel。有什么提示吗?
let imageViewObject = UIImageView(frame:CGRectMake(0, 0, 100, 100))
let statusLabel = UILabel(frame: CGRectMake(0, 0, 200, 20))
let percentageLabel = UILabel(frame: CGRectMake(0, 0, 200, 20))
override func layoutSubviews() {
super.layoutSubviews()
circlePathLayer.frame = bounds
circlePathLayer.path = circlePath().CGPath
statusLabel.center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds))
percentageLabel.center = CGPointMake(CGRectGetMidX(self.bounds), 4 * frame.height / 5)
imageViewObject.center = CGPointMake(CGRectGetMidX(self.bounds), 1 * frame.height / 5) //This doesn't fit this inside
}
答案 0 :(得分:1)
找到解决方案:
let imageViewObject = UIImageView(frame:CGRectMake(0, 0, 100, 100))
let statusLabel = UILabel(frame: CGRectMake(0, 0, 200, 20))
let percentageLabel = UILabel(frame: CGRectMake(0, 0, 200, 20))
override func layoutSubviews() {
super.layoutSubviews()
circlePathLayer.frame = bounds
circlePathLayer.path = circlePath().CGPath
statusLabel.center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds))
percentageLabel.center = CGPointMake(CGRectGetMidX(self.bounds), 4 * frame.height / 5)
imageViewObject.frame = CGRectMake(2 * frame.width / 5, 1 * frame.height / 5, 20, 20);
}