iOS 8更改呈现/模态视图控制器的大小

Xing

在ios 7及之前的版本中,我正在更新presentedViewController.view.superview的边界以自定义所呈现的视图控制器的大小,但似乎在ios 8中不再是这种情况。由于无法在视图控制器上设置超级视图(尝试在调试器中调用时返回nil)。

有什么建议如何更新显示的视图控制器的大小?这将用于自定义表示过渡。

Xing

万一以后有人遇到这个问题,这就是我的解决方法。

子类化UIPresentationController并返回frameOfPresentedViewInContainerView中的框架。将其提供给您为presentedViewController创建的transitioningDelegate。

或者,您可以在animateTransition:中设置presentedView的最终框架,该框架属于您为transitioningDelegate创建的动画对象。但是,这是做旧的iOS 7方法。自从Apple引入UIPresentationController以来,任何大小/框架更改都应该在那做,这是我之前提到的方法。

以下是一些与解决问题可能不直接相关的其他信息。

对于像我之前从未接触过Apple View Controller Transition API的那些人,以下是一些步骤。

  1. 创建符合UIViewControllerTransitioningDelegate的YourTransitioningDelegate。在这里,通常需要设置三项内容,PresentationController,PresentedAnimationController,DismissedAnimationController。

  2. 创建符合UIViewControllerAnimatedTransitioning的YourTransitionAnimator。在这里,需要重写两个函数,transitionDuration和animateTransition(这是所有动画发生的位置,添加/删除presentationView并对其进行动画处理。让您在transitionContext上调用completeTransition结束动画)。

  3. 子类UIPresentationController。根据每个人的需求,您可以在这里做很多事情。我只是添加了dimmingView并更改了presentedViewController的框架。

  4. 最后,在呈现视图控制器之前先将其连接起来,该视图控制器将modalPresentationStyle更改为自定义并设置过渡委托。

我发现真正有用的东西包括两个2014年WWDC视频(“视图控制器的改进”和“外观在演示控制器的内部”)和Apple的示例项目(LookInside-photoEditingApp)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS 8更改呈现/模态视图控制器的大小

来自分类Dev

在iOS8中从操作表的委托模态呈现视图控制器-iOS11

来自分类Dev

iOS 7-在呈现模态视图控制器时获取警告消息

来自分类Dev

iOS - 从呈现的视图控制器呈现视图控制器会改变其高度

来自分类Dev

如何在iOS 8的模态视图控制器中强制纵向显示?

来自分类Dev

呈现视图控制器时如何在iOS13中获取可见的视图大小

来自分类Dev

iOS7-iPhone呈现视图控制器-UIPickerView

来自分类Dev

iOS8 iOS7和iOS6防止旋转呈现的视图控制器

来自分类Dev

iOS中子视图控制器方向更改时如何旋转父视图控制器

来自分类Dev

iOS Swift Paypal 集成崩溃与 NSInvalidArgumentException 应用程序试图在目标上呈现一个 nil 模态视图控制器

来自分类Dev

模态视图控制器可在iOS 7上运行,在iOS 6上有差距

来自分类Dev

模态视图控制器可在iOS 7上运行,在iOS 6上有差距

来自分类Dev

iOS - 关闭在其视图之外触摸的呈现视图控制器

来自分类Dev

关闭(iOS13.5 Xcode 11.5)中的模态视图控制器显示黑屏

来自分类Dev

swift xcode iOS:我可以重新使用已加载的模态全屏视图控制器吗?

来自分类Dev

呈现的视图控制器涵盖了iOS 7中的状态栏

来自分类Dev

使用UISeachController iOS 8时,建议不要在分离的视图控制器上显示视图控制器

来自分类Dev

iOS中的模型-视图-控制器

来自分类Dev

多个视图控制器-iOS 7

来自分类Dev

iOS无法关闭视图控制器

来自分类Dev

iOS推视图控制器崩溃

来自分类Dev

iOS中的模型-视图-控制器

来自分类Dev

ios7呈现视图控制器在呈现时不会旋转,导致状态栏消失

来自分类Dev

在iOS中更改rootview时,堆栈中的视图/视图控制器是否被销毁?

来自分类Dev

iOS7 / IOS8在视图控制器中仅允许纵向

来自分类Dev

iOS7 / IOS8在视图控制器中仅允许纵向

来自分类Dev

iPad / iOS7:从中呈现“全屏”视图控制器后,“页面”模式视图控制器出现奇怪行为

来自分类Dev

使用标签栏控制器-> 导航控制器-> 视图层次结构-iOS Swift 从应用程序委托呈现视图

来自分类Dev

在滚动视图内部重用视图控制器。Swift iOS8开发

Related 相关文章

  1. 1

    iOS 8更改呈现/模态视图控制器的大小

  2. 2

    在iOS8中从操作表的委托模态呈现视图控制器-iOS11

  3. 3

    iOS 7-在呈现模态视图控制器时获取警告消息

  4. 4

    iOS - 从呈现的视图控制器呈现视图控制器会改变其高度

  5. 5

    如何在iOS 8的模态视图控制器中强制纵向显示?

  6. 6

    呈现视图控制器时如何在iOS13中获取可见的视图大小

  7. 7

    iOS7-iPhone呈现视图控制器-UIPickerView

  8. 8

    iOS8 iOS7和iOS6防止旋转呈现的视图控制器

  9. 9

    iOS中子视图控制器方向更改时如何旋转父视图控制器

  10. 10

    iOS Swift Paypal 集成崩溃与 NSInvalidArgumentException 应用程序试图在目标上呈现一个 nil 模态视图控制器

  11. 11

    模态视图控制器可在iOS 7上运行,在iOS 6上有差距

  12. 12

    模态视图控制器可在iOS 7上运行,在iOS 6上有差距

  13. 13

    iOS - 关闭在其视图之外触摸的呈现视图控制器

  14. 14

    关闭(iOS13.5 Xcode 11.5)中的模态视图控制器显示黑屏

  15. 15

    swift xcode iOS:我可以重新使用已加载的模态全屏视图控制器吗?

  16. 16

    呈现的视图控制器涵盖了iOS 7中的状态栏

  17. 17

    使用UISeachController iOS 8时,建议不要在分离的视图控制器上显示视图控制器

  18. 18

    iOS中的模型-视图-控制器

  19. 19

    多个视图控制器-iOS 7

  20. 20

    iOS无法关闭视图控制器

  21. 21

    iOS推视图控制器崩溃

  22. 22

    iOS中的模型-视图-控制器

  23. 23

    ios7呈现视图控制器在呈现时不会旋转,导致状态栏消失

  24. 24

    在iOS中更改rootview时,堆栈中的视图/视图控制器是否被销毁?

  25. 25

    iOS7 / IOS8在视图控制器中仅允许纵向

  26. 26

    iOS7 / IOS8在视图控制器中仅允许纵向

  27. 27

    iPad / iOS7:从中呈现“全屏”视图控制器后,“页面”模式视图控制器出现奇怪行为

  28. 28

    使用标签栏控制器-> 导航控制器-> 视图层次结构-iOS Swift 从应用程序委托呈现视图

  29. 29

    在滚动视图内部重用视图控制器。Swift iOS8开发

热门标签

归档