美文网首页程序员iOS DeveloperiOS Blog
巧用AutoLayout控制横向多个视图组件布局

巧用AutoLayout控制横向多个视图组件布局

作者: JamesCaiLee | 来源:发表于2016-03-24 15:05 被阅读300次

导读

在上一篇文章解决往可重用Cell中手动添加View时重复显示问题中我提到了类似如下这种复杂的横向多控件布局,我未有好的AutoLayout实现方式,暂时使用了手动编写视图代码的方法。

image

难点

这种横向的布局难点主要有:

1.左边的Label长度不固定

2.右边由ImageView和Label叠加成。且Image长度随Label变化。Label长度也不固定

3.左边和右边长度相加不超过屏幕宽度。如果超过,保持右边不变,左边缩略。

但对于这种布局,我使用耿耿于怀,希望能用AutoLayout完美解决。在大牛JohnLui的帮助下,终于搞定。为了帮助其它遇到类似问题的小伙伴同时也基于分享的精神,我制作了一个小DemoHorizontalMultiViewDemo,方便大家使用,欢迎大家fork。

思路

使用AutoLayout解决这类布局的关键点在于:

1.给右边ImageView增加一个到右侧距离 >=0 的约束!

2.给右边ImageView增加一个宽度约束,然后用代码调整这个约束的值!

3.两个Label不要设置宽度约束

相关文章

  • 巧用AutoLayout控制横向多个视图组件布局

    导读 在上一篇文章解决往可重用Cell中手动添加View时重复显示问题中我提到了类似如下这种复杂的横向多控件布局,...

  • 常用Widget介绍

    基本布局 Row - 横向布局 Column - 纵向布局 Stack - 层级布局 其他常用组件 Backdro...

  • AutoLayout

    在可视化编程中,利用AutoLayout来布局会节省很多的代码和时间。 利用 来设置是视图间的相对距离从而控制控件...

  • SwiftUI - 容器视图 & 标准控件

    容器视图: VStack- 纵向布局 HStack- 横向布局 ZStack - 叠放容器 LazyVStack-...

  • ios性能优化重编

    手动布局(写宽高)和Autolayout(自动布局)性能的差别主要在子父视图添加到40个子视图的时候,才会显得区别...

  • iOS性能优化

    手动布局(写宽高)和Autolayout(自动布局)性能的差别主要在子父视图添加到40个子视图的时候,才会显得区别...

  • iOS使用AutoLayout底部TabBar被遮挡问题

    问题描述: 在使用AutoLayout代码布局时,有时会碰到父视图是TabBarController的一个子视图,...

  • 05-Flutter 布局类组件

    布局类组件 Column 和 Row 竖向或者横向的线性布局 Flex 弹性布局,按比例布局 Wrap 流式布局...

  • Angular4~6 视图操作方式以及组件的变化检测过程

    Angular 应用由组件树构成,组件树由多个视图和子视图构成,而视图是构成 Angular 组件的基本元素,同时...

  • iOS 视图的contentHugging和contentCom

    UIView视图有以下四个方法(如图1),该方式是针对autoLayout技术提供的。作用是当多个视图在父视图中水...

网友评论

    本文标题:巧用AutoLayout控制横向多个视图组件布局

    本文链接:https://www.haomeiwen.com/subject/snerlttx.html