添加自定义转换会导致 xib 加载错误的屏幕尺寸
Adding a custom transition causes xib to load for the wrong screen size
我正在尝试向具有 xib 的 UIViewController 添加自定义转换。我尝试了几种方法,但它们都有相同的问题,视图显示错误的屏幕尺寸。
我当前的示例基于以下教程:Custom UIViewController transition in iOS with Swift
我没有对 TransitionDelegate 或 Animators 进行任何更改。
这是 xib 和模拟器中的视图:
白色 UIView 设置为居中,宽度为 80%,比例为 1:1。
我的 UIViewController 使用以下方式加载:
let thirdViewController = ThirdViewController()
thirdViewController.transitioningDelegate = viewTransitionDelegate
thirdViewController.modalPresentationStyle = .custom
navigationController?.present(thirdViewController, animated: true, completion: nil)
如果我注释掉设置委托,视图将完美加载 100%:
最后,我有另一个没有 xib 的 UIViewController 并且以编程方式设置约束。此视图加载了相同的转换并完美加载:
我需要更改什么才能使其与 XIB 一起使用?
我花了很长时间寻找这个问题的答案,然后从侧边栏的 找到了它。
我需要做的就是将以下内容添加到我的动画师中:
toViewController.view.frame = fromViewController.view.frame
我希望有一天这对某人有所帮助。
我正在尝试向具有 xib 的 UIViewController 添加自定义转换。我尝试了几种方法,但它们都有相同的问题,视图显示错误的屏幕尺寸。
我当前的示例基于以下教程:Custom UIViewController transition in iOS with Swift
我没有对 TransitionDelegate 或 Animators 进行任何更改。
这是 xib 和模拟器中的视图:
白色 UIView 设置为居中,宽度为 80%,比例为 1:1。
我的 UIViewController 使用以下方式加载:
let thirdViewController = ThirdViewController()
thirdViewController.transitioningDelegate = viewTransitionDelegate
thirdViewController.modalPresentationStyle = .custom
navigationController?.present(thirdViewController, animated: true, completion: nil)
如果我注释掉设置委托,视图将完美加载 100%:
最后,我有另一个没有 xib 的 UIViewController 并且以编程方式设置约束。此视图加载了相同的转换并完美加载:
我需要更改什么才能使其与 XIB 一起使用?
我花了很长时间寻找这个问题的答案,然后从侧边栏的
我需要做的就是将以下内容添加到我的动画师中:
toViewController.view.frame = fromViewController.view.frame
我希望有一天这对某人有所帮助。