将文本限制在一个位置,然后根据需要动态移动
Constrain text to a location, then have it dynamically move if required
我正在制作一个带有两个标签的 UITableView
。我已将 secondLabel
限制为 firstLabel
的 +12,这意味着如果 firstLabel
包含大量文本,它将 沿 移动。然而,这意味着如果 firstLabel
几乎不包含任何文本,则 secondLabel
将向后移动 。我该怎么做才能完成这项工作?
我想让它有这样的反应:
secondLabel
尽管 firstLabel
:
中的文字很少,但仍保留在原位
_________________________________________________________
| |
| [abc] [secondLabel] |
|________________________________________________________|
secondLabel
由于 firstLabel
有很多文本要显示而移动:
__________________________________________________________
| |
| [extralongfirstLabel] [secondLabel] |
|________________________________________________________|
firstLabel
和 secondLabel
都有不同数量的文本。 firstLabel
前导面应限制在 SuperView 边缘。
secondLabel
将与 firstLabel 的前导边保持 12 的距离,但在不约束到 firstLabel 时(当它包含很少的文本时)与 SuperView 保持 56.5 的距离。
两个文本标签都在单元格的左侧,允许文本分布在单元格中。
我正在尝试通过 IB 完成此任务,但如果您有任何代码建议,请告诉我。
这听起来像是针对多个约束的作业,其中一个约束的优先级较低。
首先,需要(优先级 1000)大于或等于约束 space 第二个标签的前缘距离第一个标签的后缘 12 点。
其次,单元格和第二个标签前缘之间距离的低优先级约束。当第一个标签变得太大时,这将被破坏,这很好:这就是为什么它的优先级较低。
当第二个约束被破坏时,第一个约束将成为标签之间距离的控制。
因此,对于第一个标签,将其前导约束设置为与 superview 相同,并按照您的意愿设置常量。
现在,为第二个标签设置两个前导约束。
一个等于第一个标签的带有一些静态的尾随约束
常量(表示关系 等于 )并具有较低的优先级(将其优先级设置为低于第二个主要约束,例如 999)
- 第二个等于父视图的前导约束
关系大于或等于
限制条件:
结果:
我正在制作一个带有两个标签的 UITableView
。我已将 secondLabel
限制为 firstLabel
的 +12,这意味着如果 firstLabel
包含大量文本,它将 沿 移动。然而,这意味着如果 firstLabel
几乎不包含任何文本,则 secondLabel
将向后移动 。我该怎么做才能完成这项工作?
我想让它有这样的反应:
secondLabel
尽管 firstLabel
:
_________________________________________________________
| |
| [abc] [secondLabel] |
|________________________________________________________|
secondLabel
由于 firstLabel
有很多文本要显示而移动:
__________________________________________________________
| |
| [extralongfirstLabel] [secondLabel] |
|________________________________________________________|
firstLabel
和 secondLabel
都有不同数量的文本。 firstLabel
前导面应限制在 SuperView 边缘。
secondLabel
将与 firstLabel 的前导边保持 12 的距离,但在不约束到 firstLabel 时(当它包含很少的文本时)与 SuperView 保持 56.5 的距离。
两个文本标签都在单元格的左侧,允许文本分布在单元格中。
我正在尝试通过 IB 完成此任务,但如果您有任何代码建议,请告诉我。
这听起来像是针对多个约束的作业,其中一个约束的优先级较低。
首先,需要(优先级 1000)大于或等于约束 space 第二个标签的前缘距离第一个标签的后缘 12 点。
其次,单元格和第二个标签前缘之间距离的低优先级约束。当第一个标签变得太大时,这将被破坏,这很好:这就是为什么它的优先级较低。
当第二个约束被破坏时,第一个约束将成为标签之间距离的控制。
因此,对于第一个标签,将其前导约束设置为与 superview 相同,并按照您的意愿设置常量。
现在,为第二个标签设置两个前导约束。
一个等于第一个标签的带有一些静态的尾随约束 常量(表示关系 等于 )并具有较低的优先级(将其优先级设置为低于第二个主要约束,例如 999)
- 第二个等于父视图的前导约束 关系大于或等于
限制条件:
结果: