2017-07-27 73 views
0

我需要适合在表视图细胞标记和图像以这样的方式使得图像应立即下被放置在标签但细胞内的可视性。即,它们应该看起来像下面那样,的UITableViewCell动态标签宽度与VFL

  1. 当文字较小或在一行内时,图像可能紧挨着标签。例如 -
 
Smaller text (image) 
  • 当文本出线,那么图像可以是在小区的边缘,因为标签长度已经延长至长度。 EG -
  •  
    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失败,这就需要在标签附近的图像的情况。 EG -

    的情况下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,不自动换行到多行然后和文本被延伸超出电池的宽度。 EG -

    的情况下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) 
    

    如何解决这个问题?设置一些约束条件的优先级将帮助?

    回答

    1

    我没有太多的经验,但VFL,我知道Autolayout这样我就可以给你知道如何解决

    我已经看见你都试图

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

    在第一个尝试,你有固定的在尾随第二

    图像尝试,你有固定的图像与标签

    什么是结合的解决方案?

    你明确的要求,说,你必须附有标签后也照顾约拖尾到上海华

    如此清晰的解决方案这个问题你的形象是

    你必须给你的imageView追踪可能是此代码[image(==20)]-|应更改为大于或等于的关系0常量

    它会告诉自动布局引擎,以保持最小0距离从上海华盈的尾随

    抱歉,我不能给你确切的代码,因为我没有太多的经验与VFL

    希望它会帮助你

    +0

    Heyyy做到了!也清楚了!非常感谢@Mike! – XiOS

    +0

    所以VFL中的解决方案是H:| - [label] - [image(== 20)] - (> = trailingspace) - | – XiOS