使用选项 UIModalPresentationOverCurrentContext 减小模态显示的 uiviewcontroller 的帧大小
Posted
技术标签:
【中文标题】使用选项 UIModalPresentationOverCurrentContext 减小模态显示的 uiviewcontroller 的帧大小【英文标题】:Reducing the frame size of a uiviewcontroller being presented modally with option UIModalPresentationOverCurrentContext 【发布时间】:2016-04-25 23:12:42 【问题描述】:我正在重新创建一个弹出式视图控制器。
在下面的实现中,我正在实例化一个视图控制器,然后使用选项UIModalPresentationOverCurrentContext
以模态方式将其呈现在其父 VC 上。
我想减小帧大小,以使新的视图控制器看起来更像一个弹出窗口,但帧大小不断被覆盖。我还尝试在其-viewWillAppear
和-viewDidLoad
方法中设置视图控制器的帧大小,但没有任何变化。有什么想法吗?
UIStoryboard* popStoryboard = [UIStoryboard storyboardWithName:@"XXX" bundle:nil];
UIViewController* popViewController = [storyboard instantiateViewControllerWithIdentifier:@"XXXXXX"];
popViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext;
popViewController.view.frame = CGRectMake(0, 0, 400, 450);
[[self topMostViewController] presentViewController:popViewController animated: YES completion: nil];
【问题讨论】:
子类 UIView,创建自定义 UIView 作为视图控制器的视图,在“loadview”方法中加载视图,在自定义子类中,通过添加其他 uiview 来调整视图的大小,等等……赢 【参考方案1】:您正在使用名为popViewController
的指针变量实例化视图控制器,但您更改了视图的框架并呈现了一个名为viewController
的指针变量。
【讨论】:
不错的收获。但这实际上不是问题。我必须在将代码粘贴到此处之前更改我的代码,并且我没有重命名最后两个语句。 是的,我认为这是一个错字之类的。以上是关于使用选项 UIModalPresentationOverCurrentContext 减小模态显示的 uiviewcontroller 的帧大小的主要内容,如果未能解决你的问题,请参考以下文章
如何在具有自定义选项卡 UI(不使用选项卡栏)的 UITabBarController 中删除“更多”选项卡