Я пытаюсь настроить вид UIImage, чтобы включить красный / зеленый круг для отображения статуса в сети.Мой текущий код выглядит так:
import UIKit
class AvatarImageView: UIImageView {
enum AvatarImageViewOnlineStatus {
case online
case offline
case hidden
}
var onlineStatus: AvatarImageViewOnlineStatus = .hidden
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
private func setup() {
clipsToBounds = true
layer.cornerRadius = frame.size.width / 2.0
let circleShapeLayer: CAShapeLayer = CAShapeLayer()
circleShapeLayer.path = UIBezierPath(ovalIn: CGRect(x: 0, y: 0, width: 30, height: 30)).cgPath
circleShapeLayer.fillColor = UIColor.red.cgColor
layer.addSublayer(circleShapeLayer)
}
}
Однако слой также обрезается:
maskToBounds
на слоепо умолчанию установлено на false
состояние документов:
Логическое значение, указывающее, обрезаны ли подслои до границ слоя.Animatable.
Однако он все еще обрезан.Что я тут не так делаю?