【发布时间】:2021-01-28 23:14:23
【问题描述】:
所以我正在尝试为我的 UIViewController 之间的牵引设置动画。我希望新的 VC 从按钮所在的同一侧推入。我已经设法从右侧推入一个 VC,但是当我尝试从左侧推入时,它会先推入同一个 VC,然后弹出新的 VC。
这是我的代码:
switch sender.view {
case settingsButton:
let settingScreen = SettingsVC()
settingScreen.modalPresentationStyle = .fullScreen
present(settingScreen, animated: false, completion: nil)
let transition = CATransition()
transition.duration = 0.7
transition.type = .moveIn
transition.subtype = .fromLeft
transition.timingFunction = CAMediaTimingFunction(name: .default)
view.window!.layer.add(transition, forKey: kCATransition)
case calendarButton:
let calendarScreen = CalendarVC()
calendarScreen.modalPresentationStyle = .fullScreen
self.present(calendarScreen, animated: false, completion: nil)
let transition = CATransition()
transition.duration = 0.5
transition.type = .moveIn
transition.subtype = .fromRight
transition.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
view.window!.layer.add(transition, forKey: kCATransition)
default:
break
}
【问题讨论】:
-
我需要导航控制器来执行此操作吗?
标签: ios swift animation uiviewcontroller