自动布局动态UITableView单元格高度

13

我使用Autolayout和UITableViewAutomaticDimension创建了动态高度的UITableView Cell。

问题是我使用高度为6的UImageView作为分隔符。

我将UImageView的顶部空间边距(与其上面的UIButton(Button 2)的垂直间距)设置好了,但在某些情况下,我不需要使用UIButton(Button 2)。

我如何隐藏我的UIButton(Button 2),以及如何建立UImageView的顶部空间边距(与上面的UILabel(Country)的垂直间距),因为在某些情况下,我不能使用UILabel(Desc)。

根据API:

(1) 需要UILabel Desc,不需要UIButton(Button 2)

(2) 不需要UILabel Desc,需要UIButton(Button 2)

(3) 需要UILabel Desc和UIButton(Button 2)(两者都需要)

(4) 不需要UILabel Desc和UIButton(Button 2)(两者都不需要)

UIImageView(Separator)出现在单元格详情的末尾

UILabel(Name)是必需的

UILabel(Desc)是必需的

UIImageView(Separator)是必需的

这意味着,我希望以最佳方式使UIImageView(Separator)的顶部空间边距(垂直间距)保持一致,以便我可以在所有单元格中看到,而不会在UILabel(Desc)之间产生任何额外的空间。

我已经在下面的链接上上传了我的项目

https://drive.google.com/file/d/0B5mabdphYDhzWG9UMzM2MTV6cms/view?usp=sharing

enter image description here


请查看使用自动布局的动态单元格高度教程。您可以从中复制UIlabels和约束条件。 - pkc456
使用你的标签的行数为0。 - ajay_nasa
展示你的布局设计。 - Bista
@ajay_nasa 我已经将所有标签的行数设置为0 有时候: (1)需要UILabel Desc,不需要UIButton(Button 2) (2)不需要UILabel Desc,需要UIButton(Button 2) (3)需要UILabel Desc和UIButton(Button 2)都需要UIImageView(分隔符)放在单元格详情的最后 谢谢 - Ankur Patel
@Mr.UB,这是布局设计的图片链接。谢谢。 https://drive.google.com/file/d/0B5mabdphYDhzRHFmdWw2WEZraEU/view?usp=sharing 谢谢。 - Ankur Patel
@BhadreshKathiriya Button2的高度在某些单元格中是固定的,我需要Button 2在其他单元格中,我不需要Button 2UILabel Desc的大小是动态的,但在某些单元格中,我需要UILabel Desc,在其他单元格中,我不需要UILabel Desc情况如下:(1)需要UILabel Desc,不需要UIButton(Button 2)(2)不需要UILabel Desc,需要UIButton(Button 2)(3)需要UILabel Desc和UIButton(Button 2)(两者都需要)(4)不需要UILabel Desc和UIButton(Button 2)(两者都不需要) - Ankur Patel
2个回答

5
请确认这个截图是否正确?
1> 第一个单元格不需要按钮2。
2> 第二个单元格不需要描述。
3> 按钮2和描述都需要在第三个单元格中。(截图2中的第一个单元格)
4> 按钮2和描述都不需要。
下载项目链接:https://github.com/BhadreshKathiriya/AutoLayoutSignin

enter image description here enter image description here


不错,很完美,但我需要同样的填充:
  1. 按钮2在第一行不需要。例如,在描述和UIImageView分隔符之间需要10像素的填充。
  2. 第二行不需要描述。例如,在Lavel Country和UIButton(按钮2)之间需要10像素的填充。
  3. 第三行需要按钮2和描述。这是屏幕截图2中的第一个单元格。
  4. 按钮2和描述都不需要。例如,在Lavel Country和UIImageView分隔符之间需要10像素的填充。
- Ankur Patel
以上4种情况中是否有相同填充的解决方案?不错,干得好! - Ankur Patel
很好,完美,但我需要在1>按钮后面相同的填充。第2个单元格中的按钮2不需要。例如,在UILabel描述和UIImageView分隔符之间有10像素的填充。2>第二个单元格中不需要Desc。例如,在UILabel国家和UIButton(Button 2)之间有10像素的填充。3>第三个单元格中需要Button 2和Desc。 (屏幕截图2中的第一个单元格)这是完美的。4> Button 2和Desc都不需要。例如,在UILavel国家和UIImageView分隔符之间有10像素的填充。 - Ankur Patel
请编辑我的屏幕截图,检查所有填充是否为10像素。第一张截图检查单元格1和2。第二张截图检查单元格1(3)和2(4)。 - Bhadresh Kathiriya
请下载上面链接的压缩文件,并解压该项目。 - Bhadresh Kathiriya
显示剩余3条评论

1
我可以建议使用几个不同的单元格布局(每个都有自己的重用标识符)来配置明显的解决方案。在我看来,这样做可以节省您大量时间来解决奇怪的自动布局问题。

嗨,cbiggin,感谢您的回复。如果您能提供更好的解决方案,我会非常高兴并期待您的继续。您可以提供您的解决方案。谢谢。 - Ankur Patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接