当前位置: 首页 > 知识库问答 >
问题:

UIScrollView内容视图动态高度约束

宦源
2023-03-14

我遇到了内容视图高度限制的问题。所有标签都有动态高度,即没有固定高度。我在某个地方读到将高度设置为等于滚动视图高度。

ViewController的高度目前是870px,scrollview的高度是757px。我不知道如何在AutoLayout中设置高度,因为我无法在某一点后滚动。

我首先设置了UIScrollView,然后添加UIView作为UIScroll View的子级,然后添加了2个UIImageView和几个UILabel,UILabel的大小取决于内容,内容是不固定的。由于UIView的高度是静态的,当UILabel的内容很大时,我就无法滚动到某个点之后。

共有2个答案

卫泉
2023-03-14

如果您的意思是希望滚动视图与容器视图的高度/宽度相同:

    < li >转到情节提要并找到视图 < li >按“ctrl”并从滚动视图拖动到父容器的一个边缘 < li >对所有4个边缘(滚动视图的上、左、下、右边缘)执行相同的步骤 < li >您可能需要将约束设置为“0”(距父对象的边距像素数)

尝试跟随此图片(确保所有行都为粗体(打开),并将文本框中的值设置为“0”:

淳于开畅
2023-03-14

这样做:

  1. 将滚动视图添加到视图控制器,并且不要对其设置任何约束。
  2. 开始在滚动视图中添加子视图(图像,标签等)并设置所需的约束。对于标签,您无需设置高度,因为它们会根据内容自动调整其高度。对于其他子视图,还要设置高度或稍后将确定高度的其他约束(即纵横比)。如果滚动视图对于要添加的所有子视图而言都太小,请从其底部拖动以增加其高度。请务必将所有子视图保留在滚动视图中,并将它们彼此链接起来。
  3. 对于滚动视图中的最后一个标签,请向滚动视图添加底部约束。
  4. 将边距约束从滚动视图添加到主视图(顶部、前导、底部和尾随)。

由于所有子视图都被链接并固定在滚动视图的顶部和底部,而滚动视图被固定在故事板的视图上,这将起作用。

不要设置滚动视图的高度。将它设置为757像素是错误的,因为在高度低于757像素的设备上,它会将您的滚动视图呈现在屏幕下方。

 类似资料:
  • 我有一个UIScrollView,嵌套在一个内容视图中,它有两个嵌套的子视图,一个具有已知高度的常规UIView,以及一个具有动态高度的容器视图,具体取决于内容。就像这样: 视图如下所示: 我的约束设置如下: 滚动视图被限制在其超级视图(即视图)的尾缘、前缘、顶端和下边缘 内容视图被约束到其超级视图(即滚动视图)的尾部、前导、顶部和底部边缘。它还具有与主视图(即视图)相等的宽度约束,因此滚动视图的

  • 我正在设计一个具有滚动视图的页面,其上方是表格视图(禁用滚动)。为此,我在这个问题中提到了答案 - 使UITableView不可滚动并调整高度以容纳所有单元格,但没有成功。 视图层次结构以及提供的约束- -主视图 -滚动视图< br >固定在主视图的所有边上(0,0,0,0),限制边距 -内容视图 固定到滚动视图(0,0,0,0),与主视图宽度相等,与主视图高度相等(优先级-250) -内容视图中

  • 下面的代码(在viewDidLoad中调用)导致一个完全红色的屏幕。我希望它是一个完全绿色的屏幕。为什么是红色的?我怎样才能让它变成绿色的呢?

  • 我有一个具有动态高度的表视图与其他具有动态高度的UI组件一起在表视图中 数据,模型在这里.. 单元格子视图。。 这是内部tableView及其约束! 构造器

  • 我收到了有关。 故事是我有一个名为,我通过重写方法自己重新绘制它。绘图的内容是动态生成的。所以直到运行时我才知道它的大小。问题是我如何/在哪里可以动态设置其超级视图(滚动视图)的内容大小?对此有什么想法吗?

  • 我在调整表格视图单元格以自动调整动态类型字体的大小时遇到困难。请注意,我在代码中使用布局约束,而不是在故事板中。 以下是我的表视图设置代码: 以下是我在ChatAnalyticsCell类中的2个标签和图像视图设置 这里是我添加子视图和设置约束的函数,以正确调整动态类型字体的大小。 请注意,当我运行代码时,没有破坏任何约束,但布局没有正确更新。请查看屏幕截图: