uitableviewcell 动态标签宽度与 VFL
uitableviewcell dynamic label width with VFL
我需要在 table 视图单元格中放置标签和图像,使图像紧挨着标签放置,但在单元格可见范围内。即,它们应该如下所示,
- 当文本较小或在一行内时,图像可以紧挨着标签。例如-
Smaller text (image)
- 当文本超出一行时,图像可能位于单元格的边缘,因为标签长度已经延长到该长度。例如-
Multiline text multi-line text multi-line
text multi-line text multi-line text multi (image)
multi-line text multi-line text
我正在尝试使用 VFL 实现此目的,而没有故事板或笔尖。
我尝试了什么:
1. "H:|-[label]-[image(==20)]-|" , "V:|-[label]-|"
这使得图像始终附加到边缘,因此情况 1 失败,需要图像靠近标签。例如-
案例 1:
Smaller text (image) (not ok)
案例 2:
Multiline text multi-line text multi-line
text multi-line text multi-line text multi (image) (ok)
multi-line text multi-line text
2. "H:|-[label]-[image(==20)]" , "V:|-[label]-|"
这使得图像靠近文本,因此对于情况 1 是可以的,而对于情况 2 则失败,因为情况 2 没有将文本换成多行,并且文本超出了单元格宽度。例如-
案例 1:
Smaller text (image) (ok)
案例 2:
Multiline text multi-line text multi-line text multi...
(not ok - text not wrapped to multiple lines, remaining text and image hidden)
如何解决这个问题?为某些约束设置优先级会有帮助吗?
我对 VFL 没有太多经验,但是,我知道 Autolayout
所以我可以给你解决方法的想法
我看到了你的两次尝试
1. "H:|-[label]-[image(==20)]-|" , "V:|-[label]-|"
2. "H:|-[label]-[image(==20)]" , "V:|-[label]-|"
在第一次尝试中,您在尾部固定了图像
第二次尝试时,您已修复带有标签
的图像
联合解决方案是什么?
Your clear requirement says that you need your image attached with label trailing also take care about tailing to superview
这个问题的明确解决方案是
你必须给你的 imageView
尾随可能是此代码 [image(==20)]-|
应该更改为 大于或等于 与 [=35= 的关系]0 常量
它会告诉自动布局引擎与 superview 的尾部保持最小 0 距离
抱歉,我没有太多 VFL 经验,所以无法给您确切的代码
希望对您有所帮助
我需要在 table 视图单元格中放置标签和图像,使图像紧挨着标签放置,但在单元格可见范围内。即,它们应该如下所示,
- 当文本较小或在一行内时,图像可以紧挨着标签。例如-
Smaller text (image)
- 当文本超出一行时,图像可能位于单元格的边缘,因为标签长度已经延长到该长度。例如-
Multiline text multi-line text multi-line text multi-line text multi-line text multi (image) multi-line text multi-line text
我正在尝试使用 VFL 实现此目的,而没有故事板或笔尖。
我尝试了什么:
1. "H:|-[label]-[image(==20)]-|" , "V:|-[label]-|"
这使得图像始终附加到边缘,因此情况 1 失败,需要图像靠近标签。例如-
案例 1:
Smaller text (image) (not ok)
案例 2:
Multiline text multi-line text multi-line text multi-line text multi-line text multi (image) (ok) multi-line text multi-line text
2. "H:|-[label]-[image(==20)]" , "V:|-[label]-|"
这使得图像靠近文本,因此对于情况 1 是可以的,而对于情况 2 则失败,因为情况 2 没有将文本换成多行,并且文本超出了单元格宽度。例如-
案例 1:
Smaller text (image) (ok)
案例 2:
Multiline text multi-line text multi-line text multi... (not ok - text not wrapped to multiple lines, remaining text and image hidden)
如何解决这个问题?为某些约束设置优先级会有帮助吗?
我对 VFL 没有太多经验,但是,我知道 Autolayout
所以我可以给你解决方法的想法
我看到了你的两次尝试
1. "H:|-[label]-[image(==20)]-|" , "V:|-[label]-|"
2. "H:|-[label]-[image(==20)]" , "V:|-[label]-|"
在第一次尝试中,您在尾部固定了图像
第二次尝试时,您已修复带有标签
的图像联合解决方案是什么?
Your clear requirement says that you need your image attached with label trailing also take care about tailing to superview
这个问题的明确解决方案是
你必须给你的 imageView
尾随可能是此代码 [image(==20)]-|
应该更改为 大于或等于 与 [=35= 的关系]0 常量
它会告诉自动布局引擎与 superview 的尾部保持最小 0 距离
抱歉,我没有太多 VFL 经验,所以无法给您确切的代码
希望对您有所帮助