CAShapeLayer обрезается по изображению просмотра клип до границ - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь настроить вид 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)
    }

}

Однако слой также обрезается:

enter image description here

maskToBounds на слоепо умолчанию установлено на false состояние документов:

Логическое значение, указывающее, обрезаны ли подслои до границ слоя.Animatable.

Однако он все еще обрезан.Что я тут не так делаю?

...