Контроллер дочернего представления не изменяет размер при вращении при программном добавленииIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Контроллер дочернего представления не изменяет размер при вращении при программном добавлении

Сообщение Anonymous »

У меня есть контроллер rootview, в который я добавил контроллер разделенного представления из раскадровки и динамически добавляю еще один контроллер SecondView в качестве дочернего элемента к контроллеру rootview. Проблема, с которой я столкнулся, связана с ориентацией контроллера SecondView, удаленного из Rootview. Контроллер и разделенное представление занимают весь кадр представления.
Ниже приведен мой код добавления дочернего представления

let menuVC = self.storyboard?.instantiateViewController(withIdentifier: "INSPSortFilterViewController") as! INSPSortFilterViewController
menuVC.filterClose = self
var sortingViewWidth:CGFloat? = 0.0

if islandscape
{
sortingViewWidth = UIScreen.main.bounds.size.width/3
menuVC.viewWidth = sortingViewWidth! - 20

}
else
{
sortingViewWidth = UIScreen.main.bounds.size.width/2
menuVC.viewWidth = sortingViewWidth! - 20

}
self.splitViewController?.parent?.view.addSubview(menuVC.view)
self.splitViewController?.parent?.addChildViewController(menuVC)
menuVC.didMove(toParentViewController: self.splitViewController?.parent)
menuVC.view.layoutIfNeeded()
menuVC.sortingAndFilterProtocol = viewModel
menuVC.filterClose = self
menuVC.jobList = viewModel?.actualJobList
menuVC.filteredJobList = self.jobList

let navigationBarHeight = ((self.navigationController?.navigationBar.frame.size.height)! + UIApplication.shared.statusBarFrame.size.height)
menuVC.view.frame=CGRect(x: 0, y: 0+navigationBarHeight, width: sortingViewWidth!, height: UIScreen.main.bounds.size.height)

let slideInFromLeftTransition = Utility.sharedInstance.getTransition(type: Transition.Left)

// Add the animation to the View's layer
menuVC.view.layer.add(slideInFromLeftTransition, forKey: "slideInFromLeftTransition")

UIView.animate(withDuration: 0.3, delay: 0.0, options: .curveEaseInOut, animations: { () -> Void in
self.splitViewController?.view.frame=CGRect(x: sortingViewWidth!, y: 0, width: (UIScreen.main.bounds.size.width), height: UIScreen.main.bounds.size.height)
}, completion:nil)


Подробнее здесь: https://stackoverflow.com/questions/444 ... amatically
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»