在UITableViewCell中垂直居中右侧细节UILabel

时间:2014-04-14 00:20:39

标签: ios objective-c uitableview uilabel vertical-alignment

我有一个非常基本的原型表视图单元格,其中设置了Right Detail样式。默认情况下,右侧可用的标签垂直居中。但是如果你将字体大小从默认的17改为12,那么你可以看到它不再居中 - 推得太远了。

enter image description here

当您双击其框架与单元格底部对齐的标签时,您可以知道。

enter image description here

我怎样才能在中间垂直对齐?谢谢!

要查看问题:
1.拖出Table View Controller
2.将样式更改为右侧细节
3.选择正确的标签并将字体大小更改为12

1 个答案:

答案 0 :(得分:3)

内置的Right Detail表格视图单元格样式正在做正确的事情。它并不是你所期望的。您希望它在单元格内垂直对齐。但Apple认为Title和Detail标签应该基线对齐。

如果确实要垂直对齐Detail标签,则应创建自己的自定义UITableViewCell子类。为此,您可以添加“右侧详细信息”单元格和自定义单元格。将右侧详细信息单元格中的两个标签复制到自定义单元格。复制x,y,width和height,以使您的自定义单元格与Right Detail单元格完全相同。然后你可以改变你的字体大小。最后,为标签添加必要的约束。对于Details标签,您显然希望添加垂直对齐约束。

希望它有所帮助。祝你好运!