gpt4 book ai didi

Android 喜欢 iOS Swift2.1 中的 ScrollView

转载 作者:行者123 更新时间:2023-11-29 15:45:09 28 4
gpt4 key购买 nike

在 Android 中,一个人使用 ScrollView 作为 XML 文件中的根,然后在其中包含许多其他不同类型的 View ,以允许滚动行为。

Swift 2.1 和 Xcode 7.1.1 如何做到这一点,因为 Storyboard不够长,无法插入我想要放入的所有不同类型的 View ,就像我在 Android 的 XML 代码中所做的那样?

我在考虑 iOS 和 Android 大脑 :(

最佳答案

0 行代码

Storyboard足够长:

您需要做的就是创建一个自由格式 View ,将所有内容放入使用从上到下的自动布局约束的自由格式 View ,并将该 View 用作您的 UIScrollView 的内容。

Freeform

教程

  1. View Controller > 显示属性检查器 > 大小 > 自由形式
  2. View Controller > Show the Size Inspector > Simulated Size > Freeform > width & height
  3. 添加一个UIScrollView
  4. 添加 4 个 AutoLayout 约束,top/left 相对于 superview,superview 的 bottom/right 相对于 scrollview
    • Scroll.Top = Superview.Top Margin
    • Scroll.Leading = Superview.Leading
    • 底部布局 Guide.Top = Scroll.Bottom
    • Scroll.Trailing = Superview.Trailing
  5. 添加一个 UIView 作为 UIScrollView 的 subview
  6. 重复 4 个 AutoLayout 约束,相同的规则:锚定顶部,父 View 相对于 subview 宽度/高度
    • Content.Top = Scroll.Top
    • Content.Leading = Scroll.Leading
    • Scroll.Bottom = Content.Bottom
    • Content.Trailing = Scroll.Trailing
  7. 将所有 subview 添加到该 UIView。确保您可以使用与 4. 和 6. anchored top & superview.widthsuperview.height 相对于内容。
  8. 内容 View 的垂直高度由 7 处理。对于宽度,在本例中,我决定使用全宽。注意 Content View 的宽度是如何相对于 Root View 宽度的:
    • Content.width = View.width

Continuous edge-to-edge constraints

方法论

  • 使用以下结构创建 View 层次结构:

    1. root UIView(属于 UIViewController
    2. UIScrollView 滚动器(必须根据与根的关系进行拉伸(stretch))
    3. content UIView(它将指示滚动条和滚动条区域)
    4. 其他一切都进入内容 View
  • 了解决定内容大小的因素

    1. 硬尺寸
    2. 与包含 View 的关系(连续约束)
    3. 相对于父 View
  • 理解边到边的AutoLayout约束连续性规则

    1. 您应该能够遵循一组从上到下或从左到右的连续约束,以定义封闭 View 的大小
    2. 仅仅定位元素不需要这样的连续性;事实上,在不需要的地方保持连续性可能会造成冲突
  • 相对于封闭的 View (在您的示例中您试图垂直实现的目标)设置封闭空间的大小:

    1. 将第一个顶 View 附加到一个刚性位置
    2. 将下面的每个 View 附加到它上面的对象
    3. 将外壳的底部连接到最后一个物体的底部

► 在 GitHub 上找到此解决方案以及有关 Swift Recipes 的更多详细信息.

关于Android 喜欢 iOS Swift2.1 中的 ScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34139812/

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