모든 것이 유연한 높이/너비를 사용하거나 translatesAutoresizingMaskIntoConstraints를 false로 설정한다는 것에 대해 수많은 질문이 있습니다.슈퍼 뷰로드가 완료되면 서브 뷰 크기 조정
extension UIView {
func addView(storyboard: String, viewIdentier: String) {
let story = UIStoryboard(name: storyboard, bundle: nil)
let subview = story.instantiateViewController(withIdentifier: viewIdentifier)
subview.view.frame = self.bounds
self.addSubview(subview.view)
}
}
내가 잘 작동 ViewDidAppear의 모든 일에, 뷰를 초기화하려면이 옵션을 사용하는 경우 :
나는 내가 만든 확장을 사용하여보기를 추가해야합니다. 그러나 뷰의 뷰가로드 된 경우에는 뷰가 포함 된 contrainView에 아직로드되지 않은 자체 제약 조건이 있으므로 제약 조건이 모든 곳에서 적용됩니다.
나는 현재 같이 사용
@IBOutlet weak var container: UIView!
override func viewDidLoad() {
container.addView(storyboard: "Modules", viewIdentifier: "subview")
}
내가 때문에 이유의 ViewDidAppear에서보기를 초기화하고 싶지 않아요. 이 문제를 고칠 방법이 있습니까? 또는 superview로드 한 후 subview 제약 조건을 다시로드 할?
또한 다른 솔루션을 사용해 보았습니다. 나는이 일을 할 수 없어 정말 도움이된다고 생각합니다.
하하! 좋아 매트. 조언 해주셔서 감사합니다. 나는 그 대답이 될 것이라고 생각했다. – LateNate
나는 그 느낌이 들었다고 느꼈다 ...! :) 그러나 적어도 지금은 자신의 방식이 파멸되었음을 이해하고 크기 조정에 대한 일종의 실시간 응답을 구성하는 것이 올바른 방법이되기를 바랍니다. – matt