gpt4 book ai didi

ios - 使用 AutoLayout 调整 UIScrollView 内的 UIView 大小以进行滚动?

转载 作者:技术小花猫 更新时间:2023-10-29 10:44:13 25 4
gpt4 key购买 nike

我有如下布局(使用 AutoLayout,iPad):

Xcode screenshot

UIScrollView 的 super View 的顶部、底部、前导、尾部空间为 0。UIView 也具有所有四个类似的约束。第二个 UILabel 以编程方式将其高度设置为 0(因为此处显示的文本超过一屏)。另外,从UIViewUIScrollView也设置了这四个pin约束。

加载 XIB 时,此 UILabel 会正确显示长文本行。但是滚动不起作用。这是在 iPad 上运行的应用程序的屏幕截图:

enter image description here

为最外层 View 设置黄色背景,为 UIView 设置灰色背景。如果您在屏幕截图的末尾仔细观察,UILabel 的文本似乎溢出了 UIView

我怀疑因为 UIView 无法“捕获”它的 subview 的大小,所以 UIScrollView 也无法计算它的内容大小(滚动条没有理由工作如果它的内容 View 仅等于一个屏幕)。为什么即使 UILabel 显然是 UIView 的 subview 也会发生这种情况?如果我的怀疑是正确的,如何将 UIView 的高度设置为等于实际内容大小,以便我的 UILabel 正确地“包含”在其中?

(静态设置 UIView 的高度和宽度不是一个选项)。

注意:在没有 UIView 的情况下测试了 XIB,并且在 UIScrollView 中只有一个 UILabel(带有长文本)。现在可以滚动了(因为我推测, ScrollView 可以计算其内容大小)。

NB2:我也尝试了 this SO question 中的答案和 this post但是我的 UIView 根本不会超出屏幕的尺寸。 (我只关心水平滚动)

最佳答案

AutoLayout 问题很难用文字来解释。我遇到了同样的问题。我在这个视频中找到了解决方案。希望这对您也有帮助。

https://www.youtube.com/watch?v=UnQsFlMGDsI

This video demonstrates how to create a UIScrollView which has some views on the top of the screen and a view on the bottom of the screen in Autolayout. UIScrollView content size is automatically adjusted to the size of the screen or to the size of the content in such way that on smaller devices scrolling is active and on larger devices scrolling is not active because it is not needed. UIButton below UITextFields always stays on the bottom of the screen and everything works on all iPhone resolutions (iPhone 4 / 5 / 6 / 6 Plus).

关于ios - 使用 AutoLayout 调整 UIScrollView 内的 UIView 大小以进行滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29278185/

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