Tôi có bộ điều khiển xem bộ chứa và bộ điều khiển xem con (Tương tự như UITabViewController). Khi chuyển đổi giữa quan điểm của một bộ điều khiển xem đứa trẻ và xem một cái nhìn khiển của con, tôi đang sử dụng:Thay đổi kích thước chuyển tiếp SubView sau khi chuyển đổi
let oldView = // get reference to old view
let newView = // get reference to new view
UIView.transition(from: oldView!, to: newView!, duration: 0.3,
options: .transitionCrossDissolve, completion: nil)
Vấn đề ở đây, đó là việc thay đổi kích thước của newView xảy ra sau khi các hình ảnh động chuyển tiếp hoàn thành, trông khó coi.
Hành vi xấu này chỉ xảy ra khi bộ điều khiển xem trẻ mới được tải lần đầu tiên. Dường như phương thức viewDidLayoutSubviews chỉ được gọi sau khi chuyển đổi.
Làm cách nào để thay đổi kích thước của khung nhìn mới TRƯỚC KHI quá trình chuyển đổi chứ không phải sau đó.
Cảm ơn trước.
Việc chuyển đổi bản thân hoạt động tốt với Auto Layout. Tôi vừa thử nghiệm điều đó. Bạn cần hiển thị thêm mã của mình - đặc biệt là mã nơi bạn thêm và thiết lập (các) trình điều khiển xem con. – Mischa
Làm cách nào để thay đổi kích thước khung nhìn của trình điều khiển chế độ xem con (mới) để phù hợp với kích thước của vùng chứa? – Mischa
bạn đã thử ghi đè 'func viewWillTransition (với kích thước: CGSize, với điều phối viên: UIViewControllerTransitionCoordinator)' và thêm sự chuyển đổi của bạn bên trong nó? –