Vik*_*ngh 6 uikit uikit-transitions ios8 uipresentationcontroller uitraitcollection
我正在使用UIPresentationController呈现模态视图控制器.我使用以下方法设置presentView的框架小于containsView的边界:
override func frameOfPresentedViewInContainerView() -> CGRect {
let myDX = (self.containerView!.bounds.width - 600)/2
let myDY = (self.containerView!.bounds.height - 600)/2
return self.containerView!.bounds.insetBy(dx: myDX, dy: myDY)
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好.
现在,我在当前显示的模式视图控制器顶部呈现另一个视图控制器(默认不是自定义),它占用整个屏幕.所以,我在默认模态视图控制器下面有一个自定义模态视图控制器,覆盖整个屏幕.
问题是当我关闭覆盖整个屏幕的顶视图控制器时,我的自定义视图控制器也显示覆盖整个屏幕.我希望我的自定义视图控制器的大小保持不变(小于containerView).有什么方法可以实现这一点.
任何帮助,将不胜感激
ria*_*uke 15
我遇到了同样的问题.我无法通过添加约束来解决它,并且-[UIPresentationController containerViewWillLayoutSubviews]调用太晚(在解除动画完成之后).
经过一段时间后,我发现问题似乎是当您使用默认值时,正在从视图层次结构中删除呈现控制器视图UIModalPresentationFullScreen presentationStyle,并在必须再次显示时再次添加全屏大小.
在iOS中8,你可以使用UIModalPresentationOverFullScreen作为presentationStyle 从较小的控制器呈现时.系统不会自动删除呈现控制器的视图.(-[UIViewController viewWillDisappear:]等等,当你这样做时,不会在呈现控制器上调用)
您也可以使用UIModalPresentationCustomiOS 7中提供的功能,但是您必须提供自己的过渡动画.
| 归档时间: |
|
| 查看次数: |
1591 次 |
| 最近记录: |