Я видел несколько вопросов, связанных с этой проблемой, но не нашел ответов, применимых к моему случаю.
У меня есть контроллер представления (sampleV C) внутри контейнера (sampleContainer), который отлично загружается в любом месте начните с, но это не изменится после изменения с альбомной на портретную или наоборот.
В моем контроллере представления у меня есть:
func addSampleVC() {
self.addChild(self.sampleVC)
self.sampleVC.didMove(toParent: self)
self.sampleContainer.addSubview(self.sampleVC.view)
self.addSampleConstraints()
}
func addSampleConstraints() {
sampleContainer.bounds = CGRect(x: 0, y: -20, width: sampleContainer.bounds.width, height: sampleContainer.bounds.height)
sampleVC.view.bounds = CGRect(x: 0, y: 0, width: sampleContainer.bounds.width * 0.94, height: sampleContainer.bounds.height)
sampleVC.view.leftAnchor.constraint(equalTo: sampleContainer.leftAnchor, constant: 20).isActive = true
sampleContainer.clipsToBounds = true
NSLayoutConstraint.constrain(view: sampleVC.view, containerView: sampleContainer)
}
Вызывается функция addSampleV C из viewDidLoad. Основываясь на других ответах, я попытался получить обновленные границы контейнера внутри viewWillTransition, а затем вызвать setNeedsLayout и setNeedsUpdate, но мне что-то не хватает, потому что, похоже, ничего не работает. Спасибо за любые идеи.