首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

滚动视图不适用于约束布局

是因为约束布局是一种自适应布局方式,它通过设置约束条件来确定视图的位置和大小。而滚动视图是一种用于显示超出屏幕范围的内容的容器,当内容超出屏幕时,用户可以通过滚动来查看隐藏部分。

在约束布局中,视图的位置和大小是根据约束条件来确定的,而滚动视图的内容大小是根据其内部子视图的大小来确定的。因此,滚动视图的内容大小无法通过约束条件来确定,而是根据内部子视图的内容来决定的。

如果将滚动视图应用于约束布局,可能会导致布局混乱或无法正常显示。因为约束布局是根据视图的大小和位置来计算布局的,而滚动视图的大小和位置是根据其内部子视图的内容来确定的,这两种布局方式存在冲突。

如果需要在约束布局中实现滚动效果,可以考虑使用其他方式,例如在滚动视图内部添加一个容器视图,并使用约束布局对容器视图进行布局,然后将容器视图添加到滚动视图中。这样可以实现在约束布局中使用滚动视图的效果。

总结起来,滚动视图不适用于约束布局是因为约束布局是一种自适应布局方式,而滚动视图的内容大小是根据其内部子视图的内容来确定的,两者的布局方式存在冲突。如果需要在约束布局中实现滚动效果,可以考虑使用其他方式来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter原理:三棵重要的树(渲染过程、布局约束、应用视图的构建等)

Flutter 的渲染过程由用户的输入开始,当接受到用户输入的信号时,就会触发动画的进度更新,例如我们第一次渲染时的启动动画,或者我们在滚动手机屏幕时单个列表项复用时的移动动画。...在这之后,视图才会进行布局(layout),计算各个部分的大小,然后进行绘制(paint),生成每个视图的视觉数据,这部分的任务主要就是由 RenderObject 所做。...其具体可分为两个线性过程:从顶部向下传递约束,从底部向上传递布局信息,其过程可用下图表示。 ? 第一个线性过程用于传递布局约束。...父节点给每个子节点传递约束,这些约束是每个子节点在布局阶段必须要遵守的规则。就好像父母告诉自己的孩子 :“你必须遵守学校的规定,才可以做其他的事”。...常见的约束包括规定子节点最大最小宽度或者子节点最大最小的高度。这种约束会向下延伸,子组件也会产生约束传递给自己的孩子,一直到叶子结点。 第二的线性过程用来传递具体的布局信息。

1.6K40

用AutoLayout实现分页滚动

滚动视图分页 UIScrollView的pagingEnabled属性用于控制是否按分页进行滚动。在一些应用中会应用到这一个特性,最典型的就是手机桌面的应用图标列表。...,第1页的左边约束是容器视图的左边,其他页的左边约束则是前面兄弟视图的右边。...gravity的设置就可以确定子页视图的高度和宽度,再加上线性布局的特性,所以页视图不需要设置任何附加的约束。...流式布局用于一些子视图有规律排列的场景,就比如本例子中的滚动分页的图标列表的能力。下面就是具体的实现代码。...,主要是对充当容器视图的流式布局设置一些属性即可,不需要为条目设置任何约束,而且还支持横竖屏下每页的不同数量的展示能力。

1.9K40
  • iOS开源界面布局库终于破3000star

    于是就开始着手写了我的布局库的第一个版本,现在我都还保留着这个类的实现和声明: //用于线性布局的子视图的属性,描述离兄弟视图的间隔距离,以及在父视图中的比重。...,这个用于线性布局 @property(nonatomic, assign) CGFloat tailMargin; //距离后面兄弟视图的距离,这个用于线性布局 @property(nonatomic..., assign) CGFloat weight; //比重,用于占用父视图的比重。...UIScrollView或者子类则在线性布局的位置调整后是否调整滚动视图的contentsize,默认是NO //这个属性适合与整个线性布局作为滚动视图的唯一子视图来使用。...需要设置的约束少,不需要像AutoLayout那样无论是位置和尺寸都需要明确的通过设置约束来指定。有些时候可能只需要一两个属性就可以把所有子视图的位置和尺寸都设置完成。

    1.8K40

    MyLayout&TangramKit 的重大升级!

    下面是具体的实例代码: //1.创建一个滚动视图,并设置好约束,这个约束可以是AutoLayout也可以是frame的,这里为了简单就用frame。...上面的约束设置实现视图滚动的机制也有一定的局限性!那就是一旦在容器视图中添加子视图时就需要重新调整容器视图的右边界和下边界的约束依赖。...2.UIScrollView的滚动 MyLayout&TangramKit对于处理和UIScrollView进行结合时进行特殊处理,当将一个布局视图添加到滚动视图时,布局系统内部会负责处理滚动视图的contentSize...要实现UIScrollView滚动时,只需要在一个滚动视图内添加一个布局视图,然后将所有其他子视图都添加到这个布局视图中去,这个和上面的AutoLayout的处理方式是一样的,最后将布局视图的尺寸自适应属性设置为...因此要将一个布局视图添加到采用AutoLayout约束布局体系时,就像为普通视图一样给布局视图设置约束依赖即可。

    2.1K20

    iOS开发中行高灵活可变的UITableView的性能优化

    至于为何UITableView在进行配置时也需要拉取所有的行高数据,我猜想其为了进行视图的一些初始化操作,例如表视图右侧滚动条的宽度和所占比例等。...estimatedRowHeight属性用于TableView进行初始化,其会影响到表格视图右侧滚动条的宽度。cell展现出来时真正的行高并不受这个属性值的影响。        ...例如下图所示,左侧的图标进行了与父视图的左侧距离约束,标题Label进行了与父视图的上侧距离约束和右侧距离约束,内容Label进行了与标题Label的上侧约束和与父视图的下册约束,并且对宽度进行了约束。...关于细节方面,还有一个问题需要注意,预估的行高会影响到TableView右侧滚动条的展现,如果每个cell行高跳跃跨度十分大,滚动条宽度的配置会失准,随着用户滑动表视图,右侧滚动条可能会出现长短跳跃的情况...estimatedHeightForHeaderInSection:(NSInteger)section{ return 10; } //使用自动布局给头视图添加足够的布局压力 -(UIView

    1.9K20

    Xamarin 学习笔记 - Layout(布局

    End:该选项和Start刚好相反,将View放置在布局的结束位置。 Fill:该选项将View撑满布局,不留白。 Center:该选项将视图放置在布局的正中。 视图是如何在父视图中对齐的? ?...RelativeLayout(相对布局) RelativeLayout使用约束来对子视图进行布局。更多详细信息请参见此链接。...与AbsoluteLayout类似,在使用RelativeLayout时,我们可以将元素叠加在一起,但是它比AbsoluteLayout更加强大,因为你可以将相对于另一个元素的位置或大小的约束用于一个元素...以下是一个示例: 约束 Type:它定义了约束是相对于父还是另一个视图,我们可以使用以下值:RelativeToParent或Constant或RelativeToView。...ElementName:该约束相对于的视图的名称,如果我们使用关联到某个视图约束关系的话。

    1.6K20

    Xcode11.2 ScrollViews ContentLayout FrameLayout

    ContentLayout:内容布局Layout ,是Scrollview 可滚动部分Content的Guide。...Scrollview Xib如何布局 ---- 1、拖入Scrollview,确定位置约束 这个应该没有问题,主要看下一步与之前有点区别。...2、拖入View作为ContentView,确定滚动范围 可以通过两种方式决定: 固定高度范围 由子视图范围决定 已固定高度为例,子视图类似。 核心:确定宽高部分。...确定宽度布局: 确定滚动范围如屏幕宽度大小布局如下: ? 确定滚动范围固定大小如下: ? 确定高度布局: ? 3....现在可以这样布局,假如你已经确定了一个固定的滑动范围,如黄色背景。我们添加一个白色视图,即可以看出作用。 如下图: ?

    2.4K10

    Ios常用第三方框架(一)

    值得称赞还有额外增加了“取消及滚动”效果支持。 Animations - 封装了一下,使用的时候只要两行代码。一些动画的飞机稿,都是一些单独分离出来的用于测试的子动画,现在统一归类一下。...使用DEMO 视图居中显示、子视图含边距、视图等距离摆放、计算ScrollView的contentsize。...在代码中纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,在board中用上它,你可以简单直观地编写约束了。...Auto-Layout-Showcase - swift,AutoLayout 进阶 Demo,宽高比约束、比例约束、不等约束、视差约束、低优先级约束等高级用法,无需写码即可进行复杂页面布局,Demo...TQRichTextView - 用于做富文本视图控件显示,用于即时通讯的表情显示,以及资源评论的富文本显示。

    5.4K31

    Flutter 视图布局-前言

    那么接下来就来看一看 Flutter 的视图布局吧。...01 - 视图布局方式 简单说一下我对 Flutter 视图布局的看法,在前篇中我有提到 Flutter 是使用了 Dart 语言进行编写,所以弱化了视图编辑的部分,视图的渲染、结构、布局都通过代码逻辑来生成...ListView 可滚动的列表控件。ListView 是最常用的滚动 Widget,它在滚动方向上一个接一个地显示它的子元素。在纵轴上,子元素们被要求填充ListView。...Offstage 一个布局 Widget,可以控制其子元素的显示和隐藏。 ConstrainedBox 对其子项施加附加约束的 Widget。...LimitedBox 一个当其自身不受约束时才限制其大小的盒子。 OverflowBox 对其子项施加不同约束的 Widget,它可能允许子项溢出父级。 SizedBox 一个特定大小的盒子。

    2.3K110

    Material Design —卡片(Cards)

    左:网格tile以干净轻量方式展示图片库    右:卡片不适合展示同类内容 ---- 内容 卡片为联系更紧密的信息和视图提供上下文和入口点,其内容和数量可能会有很大差异。...但是,它们在卡内的大小和位置取决于图像是主要内容还是用于补充卡片上的其他内容。 背景图像 当文字放置在纯色背景上时,文字清晰度最高,且文字对比度足够高。 放置在图像背景上的文本应该保留文本的易读性。...左:不同布局的卡片    右:排版方式能突出重点内容 ? 左:不同内容与布局的卡片集合    右:不同布局与不同内容层次的卡片集合 ---- 行为 卡片具有恒定的宽度和可变的高度。...从左到右,从上到下 滚动 卡片集合只能垂直滚动。 超过最大卡片高度的卡片内容会被省略,内部不会滚动,但可以扩展卡片。 一旦展开,卡片可能会超过视图的最大高度。...在这种情况下,卡片将随卡片集合一起滚动。 ? ? 左:卡片可留有展开入口    右:手机端不要在卡片内放置可滚动区域,会存在两条很难分开的滚动条 ?

    4.3K100

    最新iOS设计规范四|3大界面要素:视图(Views)

    视图(Views) 包含用户在APP中看到的基本内容,例如:文本、图片、动画以及交互元素。视图可以具有滚动、插入、删除和排列等交互行为。 控件(Controls) 控件,是用于触发操作并传达信息的。...将红色用于执行破坏性或危险操作的按钮,并将这些按钮显示在动作表单的顶部。 避免让操作表滚动。如果表单选项太多,用户必须滚动才能看到所有选项。但滚动需要用户额外花时间来做出选择,而且很容易造成误点。...虽然系统提供的任务无法在活动中重新排序,但如果它们不适用于你的APP,则可以将其屏蔽。例如:要阻止用户打印图像,你可以屏蔽“打印”活动。您还可以定义在给定的时间内显示哪些自定义任务。...在内容周围使用足够的填充,以保持布局整齐并防止内容重叠。 集合的方式不适用于文本信息,文本信息可以用列表。相对于集合,文本信息展示在一个可滚动的列表中,浏览起来会更简单和有效。 谨慎进行动态布局变更。...如果你在滚动视图中显示页面控制元素,则需要关闭滚动视图中的滚动条以免为用户带来困扰。 不要在一个滚动视图中放置另一个滚动视图

    8.4K31

    iOS多设备适配简史以及相应的API支撑实现

    ,并对视图滚动视图提供了如下扩展属性: @property (nonatomic,readonly) UIEdgeInsets safeAreaInsets API_AVAILABLE(ios(11.0...从上面的这些属性中可以看出苹果提出的这些解决方案其主要是围绕解决视图和导航条、滚动视图、状态栏、屏幕边缘之间的关系而进行的。...,通过UIStackView容器视图的使用就不再需要为每个子视图添加冗余的依赖约束关系了。...UIView来进行处理,不管如何只要是View都需要进行渲染和绘制从而有可能一定程度上影响程序的性能,而在iOS9以后提供了一个占位视图类UILayoutGuide,这个类就像是一个普通的视图一样可以为它设置约束...,也可以将它添加进入视图中去,也可以将这个占位视图作为其他视图约束依赖项,唯一的不同就是占位视图不会进行任何的渲染和绘制,它只会参与布局处理。

    1K30

    深度解析 Jetpack Compose 布局

    Jetpack Compose 是用于构建原生 Android 界面的新工具包。...modifier 参数所指定的修饰符将应用于布局,这在下文中会详细介绍。measurePolicy 参数是 MeasurePolicy 类型,它是一个函数式接口,指定了布局测量和放置项目的方式。...Measurable 类型会公开用于测量项目的函数。如前所述,布局每个元素需要三步: 每个元素必须测量其所有子元素,并以此判断自身尺寸,再放置其子元素。...自定义布局示例 MyColumn 示例 △ Column Compose 提供一个 Column 组件用于纵向排布元素。...这是 View 系统中存在的问题,嵌套结构执行多遍测量过程可能会让叶子视图上的测量次数翻倍,Compose 的设计能够防止发生这种情况。

    2.1K30

    例说 Constraint Layout:初探

    更加扁平化的布局,更快的速度 约束布局旨在使你的布局更加扁平化,你可以将布局优化至以前难以想象的精简程度:对于无需滚动控件(如:RecyclerView,ListView,GridView,etc.)的界面...工具栏 提供了可以用于配置布局外观和属性的按钮。最左上角的三个就是用于切换下面的设计编辑区展示哪些视图的。...(你也可以自行选择如何预览布局:既可以让设计视图和蓝图视图并列显示,也可以只显示其中任一个。) 设计视图主要用于预览最终的界面效果,采用彩色界面,它默认不显示约束,除非你的鼠标在上面停留。...蓝图视图仅显示各部件的轮廓线,主要用于观察界面内各个控件的约束情况。...注意,Autoconnect 功能并不会为 View 添加相对于布局内其它 View 的约束。对其它非 CL 的布局,Autoconnect 的行为略有不同,会相应添加适用于此种布局的属性。

    2.1K10

    【Hybrid开发高级系列】ReactNative(七) —— RN组件专题

    如果不适合,它们将 被放置在一个'溢出'菜单。         ...style View#style         用于MapView的样式设置和布局。更多信息请看StyleSheet.js和ViewStylePropTypes.js。     ...3.4 滚动视图         组件封装了滚动视图平台,同时提供了与锁定“应答”系统的触摸的集成。尚不支持其他来自阻止滚动视图成为响应者的包含的响应。...removeClippedSubviews布尔         这是一个通过RCTView显示的特定性能属性,当有很多子视图,并且它们大部分都是在幕后,这时被用于滚动内容。...为了使这个属性有效,它必须被应用到一个视图中,在这个视图里包含很多子视图和外部约束。子视图中还应该有溢出:隐藏,应该包含视图(或者它的一个子视图)。

    53540
    领券