У меня есть MasterViewController, и я добавляю ChildViewController внутри MasterViewController. Внутри MasterViewController я сделал верхнюю панель кнопок и принял вид контейнера. В этом представлении контейнера я хочу переместить мои ChildViewControllers. И это произойдет при нажатии кнопки в MasterViewController
Вот как я добавляю ChildViewController
func addViewControllerAsChildViewController(childVC : UIViewController) {
oldVC = newVC
childVC.view.frame = viewContainer.bounds
childVC.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
addChildViewController(childVC)
childVC.didMove(toParentViewController: self)
// Where ViewContainer is dedicated area inside the MasterViewController
viewContainer.addSubview(childVC.view)
}
А это мои нажатия кнопок
@IBAction func onClickBtnNewList(_ sender: UIButton) {
if !(newVC is NewListVC) {
initNewListVC()
addViewControllerAsChildViewController(childVC: targetViewController)
}
UIView.animate(withDuration: 4000, animations: {
self.viewIndicators.frame = sender.frame.offsetBy(dx:0,dy:2)
})
}
@IBAction func onClickBtnSavedList(_ sender: UIButton) {
if !(newVC is SavedListVC) {
initSavedListVC()
addViewControllerAsChildViewController(childVC: targetViewController)
}
UIView.animate(withDuration:400, animations: {
self.viewIndicators.frame = sender.frame.offsetBy(dx:0,dy:2)
})
}
Мой ChildViewControllers правильно раздувается. Но проблема в кнопке. Нажмите, есть другой вид, который я оживляю при нажатии и перемещая его ниже кнопки. Вы можете видеть, что я использовал следующий код при нажатии кнопки. Анимация начиналась и заканчивалась, перемещая связанный вид в исходное положение. и он не двигается в мою ожидаемую область, см. код ниже
UIView.animate(withDuration: 4000, animations: {
self.viewIndicators.frame = sender.frame.offsetBy(dx:0,dy:2)
})
но это не работает. Но если я закомментирую следующие строки, которые присоединяют ChildViewController, анимация движется плавно, а просмотр перемещается в целевую область
/*
if !(newVC is NewListVC) {
initNewListVC()
hideOrShowViewController(targetViewController: newVC!)
}
*/
Теперь у вас есть идеи, почему это происходит ?? в чем может быть проблема?
Я использую Xcode 9 и swift 4 Пожалуйста, помогите