呈现小于屏幕尺寸的视图控制器
Posted
技术标签:
【中文标题】呈现小于屏幕尺寸的视图控制器【英文标题】:Presenting view controller smaller than screen size 【发布时间】:2016-04-20 12:15:57 【问题描述】:几天前我试图问这个问题,但发现自己很难清楚地解释自己,所以打开了这个更简单的问题。
我有一个视图控制器 A。 我点击某些东西来触发对 View Controller B 的 segue。
有什么方法可以让 B 的尺寸小于屏幕尺寸,这样 A 仍然可以在下方看到并与之交互?
谢谢。
【问题讨论】:
不展示ViewController B,为什么不添加一个带动画的视图呢?如果您想在导航栏顶部显示视图,也可以将视图添加到导航控制器。 Thx Chandan - VC B 是一个已经建立的、非常复杂的控制器,因此最好打开它而不是将其合并到 A 中 - 您的建议可能与下面是 Dheeraj,但我需要几分钟才能解决这个问题,因为这对我来说有点新。 【参考方案1】:UIViewController 有一个名为
的属性@property(nonatomic,assign) UIModalPresentationStyle modalPresentationStyle NS_AVAILABLE_ios(3_2);
您应该尝试其中一种。默认为全屏,但您有很多选择。另外,你有一个自定义的。您可以将属性设置为自定义并更改框架。
希望对你有帮助!!
【讨论】:
非常感谢 - 努力争取时间为这些建议构建一个小测试项目,但我会尽快着手进行。一切顺利。【参考方案2】:在比实际视图控制器更小的视图中显示(这里是baseView
)
ViewControllerB * bvc = [self.storyboard instantiateViewControllerWithIdentifier:@"viewcontroller identifier"];
bvc.view.frame = self.baseView.bounds;
[self.baseView addSubview:bvc.view];
[self addChildViewController:bvc];
[bvc didMoveToParentViewController:self];
【讨论】:
谢谢 Dheeraj。我将尝试将其修改为 Swift 2.0,看看会发生什么。完成后会回复您。以上是关于呈现小于屏幕尺寸的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
尝试以编程方式创建尺寸小于屏幕的 iOS WKWebView