0

我需要在表格视图单元格中放置一个标签和一个图像,这样图像应该紧挨着标签放置,但在单元格可见性范围内。即,它们应该如下所示,

  1. 当文本较小或在一行内时,图像可以紧挨着标签。例如 -
较小的文本(图像)
  1. 当文本超出一行时,图像可能位于单元格的边缘,因为标签长度已经扩展到该长度。例如 -
多行文字 多行文字 多行
文本多行文本多行文本多(图像)
多行文字 多行文字

我正在尝试使用 VFL 而没有情节提要或笔尖来实现这一目标。

我试过了:

1.“H:|-[标签]-[图像(==20)]-|” , "V:|-[标签]-|"

这使得图像始终附加到边缘,因此案例 1 失败,需要标签附近的图像。例如 -

情况1 :

较小的文本(图像)(不好)

案例2:

多行文字 多行文字 多行
文本多行文本多行文本多(图像)(确定)
多行文字 多行文字
2. "H:|-[label]-[image(==20)]" , "V:|-[label]-|"

这使得文本附近的图像对于案例 1 来说是可以的,而对于案例 2 则失败,因为案例 2 没有将文本包装成多行,并且文本超出了单元格宽度。例如 -

情况1 :

较小的文本(图像)(好的)

案例2:

多行文字 多行文字 多行文字 多...    
(不好 - 文本没有换成多行,剩余的文本和图像隐藏)

如何解决这个问题?为某些限制设置优先级会有所帮助吗?

4

1 回答 1

1

我对 VFL 没有太多经验,但是,我知道Autolayout,所以我可以给你如何解决的想法

我看过你的两次尝试

1. "H:|-[label]-[image(==20)]-|"  , "V:|-[label]-|"
2. "H:|-[label]-[image(==20)]" , "V:|-[label]-|"

在第一次尝试中,您将图像固定在尾随

第二次尝试你有固定的带有标签的图像

什么是联合解决方案?

您的明确要求表明您需要附加标签尾随的图像,还需要注意拖尾到超级视图

这个问题的明确解决方案是

你必须给你的imageView尾随可能是这个代码[image(==20)]-|应该用大于或等于0 的关系更改常量

它会告诉自动布局引擎保持 Min 0 Distance 与 superview 的尾随

抱歉,我无法为您提供确切的代码,因为我对 VFL 没有太多经验

希望对你有帮助

于 2017-07-27T10:13:57.283 回答