clipsToBounds не работает при масштабировании дочерних представлений - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть пользовательский xib, имеющий горизонтальное представление стека с 3 дочерними представлениями. Я использую этот вид в других XIBS. Когда пользователь нажимает на одно из этих дочерних представлений, я масштабирую его, используя:

view.transform = CGAffineTransform(scaleX: 2, y: 2)

Когда представление масштабируется, оно фактически должно появляться за пределами родительского представления. Однако, когда я щелкаю дочернее представление, оно масштабируется нормально, но представление обрезается.

Я дважды проверил, что для всех моих представлений в xib clipsToBounds установлено значение false, но это все еще обрезая его.

Вот как выглядит мой класс xib:

class CustomView: UIView {

    @IBOutlet var contentView: UIView!
    @IBOutlet weak var stackView: UIStackView!

    override init(frame: CGRect) {
        super.init(frame: frame)
        initialize()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initialize()
    }

    func initialize() {
        Bundle.main.loadNibNamed("CustomView", owner: self, options: nil)
        addSubview(contentView)
        contentView.frame = self.bounds
        contentView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    }

    ... some other things that I've left out that aren't important ...

}

Есть ли что-то, что я пропускаю? Как сделать так, чтобы дочерние виды не были обрезаны / отрезаны?

1 Ответ

0 голосов
/ 10 апреля 2020

А как насчет представления хостинга XIB? (CustomView в этом случае). Установите clipsToBounds=false в вашем initialize. В противном случае взгляните на отладчик иерархии представлений Xcode и посмотрите, есть ли другое представление, вызывающее отсечение.

...