UIPresentationController——我可以在呈现后更新呈现的视图控制器的框架吗?
UIPresentationController -- can I update the presented view controller's frame after presentation?
我正在使用自定义 UIPresentationController 子类来管理 UIViewController 的呈现。我正在覆盖 - (CGRect)frameOfPresentedViewInContainerView
以提供从 containerView 的边界插入的框架。
现在,在对 presentedViewController 进行一些用户操作后,我想更改 presentedViewController 的框架。我的问题是:有没有 'natural' 方法可以做到这一点??
如何在 presentedViewController 呈现后调整它的框架?
- 在 属性 中保留 NAV 或 VC 的实例(保存)
- 呈现一些 x 尺寸(也可以在 modalPresentationStyle 中更改为 popover/fullscreen)
- [用户操作后]关闭显示的导航或vc
- 目前已保存 VC/NAV 即更改为 Y 尺寸后(可以)
存储实例意味着再次出现在同一个地方。
像下面这样使用适当的动画滚动来平滑过渡
vc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
所以我采用的方法是执行以下操作:
我添加了从 <UIContentContainer>
实现的以下方法:
- (void)preferredContentSizeDidChangeForChildContentContainer:(id <UIContentContainer>)container
然后我简单地更新了我的 presentedViewController 上的 preferredContentSize,得到了回调,并在 UIPresentationController 中动画了帧更新。
我正在使用自定义 UIPresentationController 子类来管理 UIViewController 的呈现。我正在覆盖 - (CGRect)frameOfPresentedViewInContainerView
以提供从 containerView 的边界插入的框架。
现在,在对 presentedViewController 进行一些用户操作后,我想更改 presentedViewController 的框架。我的问题是:有没有 'natural' 方法可以做到这一点??
如何在 presentedViewController 呈现后调整它的框架?
- 在 属性 中保留 NAV 或 VC 的实例(保存)
- 呈现一些 x 尺寸(也可以在 modalPresentationStyle 中更改为 popover/fullscreen)
- [用户操作后]关闭显示的导航或vc
- 目前已保存 VC/NAV 即更改为 Y 尺寸后(可以)
存储实例意味着再次出现在同一个地方。
像下面这样使用适当的动画滚动来平滑过渡
vc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
所以我采用的方法是执行以下操作:
我添加了从 <UIContentContainer>
实现的以下方法:
- (void)preferredContentSizeDidChangeForChildContentContainer:(id <UIContentContainer>)container
然后我简单地更新了我的 presentedViewController 上的 preferredContentSize,得到了回调,并在 UIPresentationController 中动画了帧更新。