【问题标题】: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,但我需要几分钟才能解决这个问题,因为这对我来说有点新。

标签: ios swift uiviewcontroller segue


【解决方案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,看看会发生什么。完成后会回复您。
猜你喜欢
  • 1970-01-01
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多