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

UIScollView与界面构建器中的自动布局问题

钱志强
2023-03-14

我决定就这个主题写一个新的问题,在这里和那里阅读了大量的信息,并试图成功,但没有结果。

这项任务看起来微不足道。我有滚动视图。它有一个UIView类型的子视图(我们称之为ContentView)。反过来,内容视图有两个UIView类型的子视图(我们称之为ViewA和ViewB)。

-ScrollView
    -ContentView
        -ViewA
        -ViewB

ScrollView有4个约束,将其绑定到SuperView的所有边缘。ViewA有3个约束(对ContentView)--顶部、左侧和右侧。ViewB有4个约束(对ContentView)--底部、左侧、右侧和高度。在ViewA的底部和ViewB的顶部之间还有另一个约束。这个想法是,我将在运行时更改ContentView的框架,ViewA和ViewB将相应地自动调整大小和布局。

嗯,它不起作用。我尝试从ContentView到ScrollView放置不同的约束,尝试不使用它们。得到了不同的结果,但没有一个是正确的。例如,ContentView对ScrollView有4个约束(top、bottom、left和right)。我正在运行时设置ContentView的框架。但是,它会被重置,最终,ContentView框架基本上具有ViewB的高度(它有高度约束)。

共有1个答案

滕英奕
2023-03-14
  1. 不要设置内容视图的框架。
  2. 您需要以定义viewA高度的方式向viewA添加约束。
 类似资料:
  • 当我打开视图控制器时,我有一个从顶部飞出的视图。我已将UIView的Y约束设置为-200,当视图加载时,将调用以下内容,一切正常: 但是现在我有一个关闭按钮,它应该将动画回到-200位置,然后从屏幕上删除视图控制器。但是这个动画没有发生。视图控制器被直接删除。这是我正在做的: 我提到了这个链接。这似乎对他们有效,但对我无效。请帮忙。

  • 问题内容: 我是Android开发的新手,已经开始创建自己的UI。我看到您可以动态创建它,如下所示(Dynamic Layouts ): 但我也看到netbeans有一个文件 Resources- > layout-> main.xml 。因此,您可以为UI创建XML布局(声明XML布局): 所以我的问题是应该使用哪个?在Android开发中,对动态布局和XML布局有何建议和优缺点? 问题答案:

  • Layout(自动布局)组件可以挂载在任何节点上,将节点变成一个有自动布局功能的容器。所谓自动布局容器,就是能够自动将子节点按照一定规律排列,并可以根据节点内容的约束框总和调整自身尺寸的容器型节点。 布局模式(Layout Type) 自动布局组件有几种基本的布局模式,可以通过 Layout Type 属性进行设置,包括以下几种。 水平布局(Horizontal) Layout Type 设为 H

  • Layout(自动布局)组件可以挂载在任何节点上,将节点变成一个有自动布局功能的容器。所谓自动布局容器,就是能够自动将子节点按照一定规律排列,并可以根据节点内容的约束框总和调整自身尺寸的容器型节点。 布局模式(Layout Type) 自动布局组件有几种基本的布局模式,可以通过 Layout Type 属性进行设置,包括以下几种。 水平布局(Horizontal) Layout Type 设为 H

  •     你可能用过UIViewAutoresizingMask类型的一些常量,应用于当父视图改变尺寸的时候,相应UIView的frame也跟着更新的场景(通常用于横竖屏切换)。     在iOS6中,苹果介绍了自动排版机制,它和自动调整不同,并且更加复杂。     在Mac OS平台,CALayer有一个叫做layoutManager的属性可以通过CALayoutManager协议和CAConst

  • 问题内容: 是Android开发的新手。我已经创建了一个android应用,下面是我的main.xml 正在收到以下警告: 谁能说出此警告的原因和解决方案。 问题答案: 在RelativeLayout中仅使用LinearLayout并没有实际用途。因此,其中之一是无用的,因为这是多余的。 编辑 当版式只有一个孩子也是版式时,将触发此警告。在这种情况下,两者都可以移除而没有任何问题。建议删除这些多余