귀하의 질문에 대답하기 위해 내 프로그래밍 크기 클래스를 설정할 수 있습니다에서 당신이 그러나, 그것은 고통의 약간의 필요 제약의 어떤 세트를 활성화/비활성화합니다. "setOverrideTraitCollection"을 호출해야하지만 부모 뷰 컨트롤러에서 실제로 특성을 변경하고자하는 것이 아닙니다.
필자는 iPad의 분할보기 컨트롤러의 마스터 VC를 iPhone의보기와 다르게 변경하려고했지만 기본적으로 너비 조정/보통 높이로 설정되었습니다. 그래서 Master의 nav 컨트롤러를 서브 클래 싱하고 iPhone이 아닌 경우 Master의 특성을 Regular 너비로 설정하는 코드를 추가했습니다.
스위프트 코드 :
class MasterNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
if (self.traitCollection.userInterfaceIdiom != .Phone) {
let newTraitCollection = UITraitCollection(horizontalSizeClass: .Regular)
self.setOverrideTraitCollection(newTraitCollection, forChildViewController: self.topViewController)
}
}
}
나는이 비슷한 솔루션을 찾고 사람을 도움이되기를 바랍니다.
크기 등급이라고합니다. – rckoenes
고마워, 내가 어떻게 그것을 놓쳤는 지 잘 모르겠다! 이제는 'NSLayoutConstraint' 또는 유사하게 프로그래밍 방식으로 크기 클래스를 지정하는 방법 만 있다면. –