【发布时间】:2013-09-21 03:58:49
【问题描述】:
在一个 iPhone 项目中,我使用 Xcode 故事板在主滚动视图中嵌入了一些包含视图。我听说包含视图也是一种“嵌入转场”。现在我不必嵌入其他子控制器,我可以创建自定义视图并在这些自定义子视图中拥有原始子控制器的逻辑。 (我想我只是在发布到这里之后才这样做,因为它看起来更容易。)但是我已经完成了代码并且想知道保持它的难易程度。
因为滚动视图内容大于主屏幕边界,所以在故事板中布局容器视图更加困难。我可以想到三种方法来解决它。我也可以
- 上下拖动滚动视图并将我的容器视图放在那里。
- 只需在滚动视图中拖动一些视图,然后在主控制器的 viewDidLoad 中调整框架的大小。 (如果我使用自动布局,那么我会在那里添加自动布局)但似乎违背了拥有故事板和首先嵌入 segue 的优势。但如果我必须与子视图控制器交互,它似乎比 #3 更容易。
- 忘记情节提要,只需编写一个包含控制器逻辑(如 WWDC 2012 视频实施 UIViewController Containment 中所述),但这似乎很复杂。
有没有办法在 Xcode 中创建嵌入转场,但不是将其放入,而是像其他视图转换一样执行“手动转场”之类的操作?我无法在故事板中看到布局,但至少它会比 #3 更容易,而且我不必像 #2 那样上下拖动,这看起来很傻。
【问题讨论】:
-
以编程方式创建容器视图实际上并没有那么复杂,它只是像两三行额外的代码(以编程方式创建视图)。我已经这样做了很多次(我不使用故事板)。如果在我的特定情况下有意义的话,这就是我个人会采取的路线。
-
您是添加视图还是视图控制器(通过 embed segue)取决于您在这些视图中执行的操作。如果不知道你想在那里做什么,很难给你建议。
-
@Firo 你的意思和我说的一样吗?我说的是添加子视图控制器。这是一个小时的 WWDC 视频,只是关于这个主题,不能那么容易。 =/
-
@rdelmar:假设我只想添加子视图控制器,这就是我的问题的目标。
-
我想我仍然可以按照我在故事板中的方式进行操作,我最终得到了这个解决方案:stackoverflow.com/questions/16889123/…
标签: ios objective-c xcode containers