Программное создание UIContainerView() и изменение его высоты

Я создаю представление контейнера программно. Однако я не могу изменить его высоту. Я устанавливаю его программно, но без какого-либо эффекта.

let supportView: UIView = UIView()
let containerView = UIView()

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(true)
    self.containerView.frame =  CGRect(x: self.view.frame.size.width - 100, y: 200, width: 225, height: 70)
    print(self.containerView.frame.height)
    self.containerView.backgroundColor = UIColor.gray
    self.containerView.layer.cornerRadius = 20

    self.view.addSubview(self.containerView)

    let controller = storyboard!.instantiateViewController(withIdentifier: "Storyboard2")
    addChildViewController(controller)

    containerView.addSubview(controller.view)
    controller.didMove(toParentViewController: self)
}

Я создал контроллер представления с идентификатором «Storyboard2» в раскадровке. И я также установил его высоту на 70. Но без везения. Любая помощь? Спасибо


person Marc Ibrahim    schedule 02.01.2017    source источник
comment
Вы добавили ограничения в раскадровку? Вам действительно нужно создать представление контейнера программно?   -  person Bharath Vankireddy    schedule 02.01.2017
comment
Возможный дубликат Могу ли я создать UIContainerView программно?   -  person dirtydanee    schedule 02.01.2017
comment
Кстати, UIContainerView() не существует.   -  person dirtydanee    schedule 02.01.2017
comment
Да, но без везения :/   -  person Marc Ibrahim    schedule 02.01.2017


Ответы (1)


Вы не установили clipsToBounds для containerView, а значение по умолчанию для этого свойства — false.

Добавьте эту строку прямо под рамкой containerView:

containerView.clipsToBounds = true

Кроме того, в качестве материала для чтения я хотел бы представить вам это обсуждение свойства clipsToBounds .

person dirtydanee    schedule 02.01.2017