UIViewController Storyboard 自定义尺寸

UIViewController Storyboard custom size

我打算展示一个小的设置菜单,其中包含一些 UISegmentControl 和滑块。我不想全屏显示它,只是在我的视图控制器中将其显示为子视图。一种方法是将其完全定义为 UIView 的子类,但所有设计都必须在 xib 文件而不是 Storyboard 中完成。我的问题:

  1. 此处正确的方法是什么 - UIViewController、UIView 或两者中的任何一个?

  2. 如果走UIViewController路线,storyboard中的view怎么设计自定义尺寸?

两种方法都可以。

但我个人更喜欢UIViewController

在 Storyboard 中设计 ViewController 时,我将主视图的背景颜色设为清晰(或者有时是黑色,alpha 介于 0 到 0.5 之间);现在我在主视图中添加我想要的任何大小的其他子视图。

现在在呈现给定的视图控制器时,请确保您使用的是 .overCurrentContext for modalPresentationStyle

使用代码作为

myVC?.modalPresentationStyle = .overCurrentContext;
self.present(myVC!, animated: false, completion: nil);

如果您使用不同的 modalPresentationStyle 那么,您的背景将看起来是纯黑色的。但是,如果你使用 overCurrentContext,那么新的视图控制器将显示在当前视图控制器之上,因此,如果你保持背景颜色清晰,那么它将是透明的。