gpt4 book ai didi

ios - 将 ScrollView 添加到之前创建的 ViewController 中?

转载 作者:行者123 更新时间:2023-11-30 12:03:39 25 4
gpt4 key购买 nike

我正在开发一个板球模拟器,屏幕上有大量文本框,供用户输入球队和球员信息。我现在意识到我需要滚动屏幕,因为弹出键盘隐藏了屏幕的底部。

有没有办法让这个以前复杂的屏幕可以滚动?我知道如何从头开始执行此操作,方法是创建一个 ScrollView,然后在 Storyboard 中在其之上创建我的 View ,但是有没有办法使其在之前创建之后可滚动?

谢谢。

最佳答案

您可以使用 Interface Builder(Xcode 中的 Storyboard 编辑器)轻松实现此目的。暂时将所有元素保留在原处,在设置完所有内容之前不要担心约束问题。 (您也可以以编程方式创建此处描述的所有内容,但无论哪种方式,您都需要一个 UIScrollView 来使内容可滚动。另一个选择是 UITableView,但这需要更多工作,并且您必须重建所有内容,正如您所说的那样问题。只是想提一下以使其完整。)

您的 ViewController 有一个主视图。将 UIScrollView 从对象库拖到 View 中。使用以下命令为 ScrollView 的 Top AnchorTrailing AnchorBottom AnchorLeading Anchor 提供对主视图的约束每个常数为 0。

将元素添加到 Scrollview 中的最简单方法是使用垂直的 UIStackView。为了这样做并且不会出现约束问题,您需要将 UIView 作为容器添加到 ScrollView 中。为 Scrollview 提供上面提到的 4 个 anchor (这次是容器的 anchor )0 常数约束。还要给它一个与主视图相等的宽度约束。

现在将 StackView 添加到容器中,并设置其四个 anchor (当然这次是容器)。您现在可以将元素拖到 StackView 中。不过,您不需要 UIStackView 。您可以将所有元素添加到容器中,但容器需要高度和宽度约束。我们已经设置了宽度约束,您需要根据您的元素自己进行高度约束。后者将由 UIStackView 自动管理。

现在您可以开始设置约束(您不需要高度约束,因为 StackView 会自动计算它的高度)。 ScrollView 的内容需要一个高度和宽度。它会自动获取 StackView 的高度。在设备上运行时,一旦 StackView 的内容不再适合屏幕,ScrollView 将自动变为可滚动。 ScrollView 从具有设定宽度的容器获取其宽度,因为它遵循主视图的宽度。设置 anchor 时,请注意取消选中约束到边距复选框。

希望下面的图片有助于说明我冗长的解释:

The Structure of the VC Make sure this is off (red circle)

关于ios - 将 ScrollView 添加到之前创建的 ViewController 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46909371/

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