gpt4 book ai didi

ios - 是否可以使用代码在 ScrollView 中嵌入 segue/包含 View ?

转载 作者:可可西里 更新时间:2023-11-01 03:02:27 24 4
gpt4 key购买 nike

在一个 iPhone 项目中,我使用 Xcode Storyboard在主 ScrollView 中嵌入了一些包含 View 。我听说 containing view 也是一个“embed segue”。现在我不必嵌入其他子 Controller ,我可以只创建自定义 View 并在这些自定义 subview 中包含原始子 Controller 的逻辑。 (我想我会在此处发帖后这样做,因为它看起来更容易。)但是我已经完成了代码并且想知道继续使用它有多容易或多难。

因为 ScrollView 内容大于主屏幕边界,所以很难在 Storyboard中布局容器 View 。我可以想到三种方法来解决它。我也可以

  1. 上下拖动 ScrollView 并将我的容器 View 放在那里。
  2. 只需在 ScrollView 中拖动一些 View ,然后在主 Controller 的 viewDidLoad 中调整框架的大小。 (如果我正在使用自动布局,那么我会在那里添加自动布局)但似乎违背了 Storyboard的优势,并首先嵌入了 segue。但如果我必须与 subview Controller 交互,它似乎比 #3 更容易。
  3. 忘掉 Storyboard,只写一个包含 Controller 逻辑(如 WWDC 2012 视频实现 UIViewController 包含中所述),但这看起来很复杂。

有没有一种方法可以在 Xcode 中创建嵌入转场,但不是将其放入,而是像其他 View 转换一样执行类似“手动转场”的操作?我将无法在 Storyboard中看到布局,但至少它会比 #3 更容易,而且我不必像 #2 那样上下拖动,这看起来很愚蠢。

最佳答案

我知道 WWDC 有一个小时的视频。但是如果你看过他们的任何其他视频,你就会很清楚时间与复杂性没有直接关系。这是您以编程方式使用容器(或 subview Controller )的方式:

[self addChildViewController:child];        // 1
[self.view addSubview:child.view]; // 2
[child didMoveToParentViewController:self]; // 3

与添加 subview 相比,非常简单,只多了两行代码。正如您所说,有 Storyboard解决方案,但根据您的复杂性,通过代码执行此操作可能会更容易。不过,这真的取决于您的喜好。

如果您打算以动画方式添加 View ,您应该在完成 block 中对 didMoveToParentViewController 进行最后一次调用(即在动画完成后)。

关于ios - 是否可以使用代码在 ScrollView 中嵌入 segue/包含 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18928732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com