Пользовательский UIView - автомакет не применяется

Моя сцена регистрации имеет собственный UIView на сцене. Применяются ограничения автомакета, как показано на следующем экране. Желтый цвет указывает на пользовательский вид. введите здесь описание изображения

Для пользовательского представления в инспекторе удостоверений установлено значение RegisterView. Класс RegisterView просто загружает XIB:

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    NSBundle.mainBundle().loadNibNamed("RegisterUserView", owner: self, options: nil)
}

В XIB применяется автомакет, поэтому он отображается следующим образом:

введите здесь описание изображения

Однако, когда я запускаю приложение, оказывается, что ограничения автомакета не применялись:

введите здесь описание изображения

Нужно ли добавлять код, чтобы применить ограничения макета?


person Sam    schedule 24.11.2015    source источник
comment
Вы применили ограничения к дочерним представлениям вашего пользовательского представления, но когда вы добавляете это представление в другое представление, скажем, в представление вашего ViewController, вам также необходимо применить ограничение к этому объекту customView, чтобы я мог компоновать себя по отношению к его родителю Посмотреть.   -  person Gandalf    schedule 24.11.2015


Ответы (1)


Я попробовал что-то вроде ниже, и это сработало

override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        self.customSubView = CustomView1.loadFromNibNamed("CustomView") as! CustomView1

        customSubView.frame = _CustomSubView.frame 
        customSubView.frame.origin = CGPoint(x: 0, y: 0)
        self._CustomSubView.addSubview(customSubView)
    }

Надеюсь, поможет

person vinbhai4u    schedule 24.11.2015