在 UITableViewCell 中垂直居中右细节 UILabel
Posted
技术标签:
【中文标题】在 UITableViewCell 中垂直居中右细节 UILabel【英文标题】:Vertically center right detail UILabel in UITableViewCell 【发布时间】:2014-05-27 19:43:41 【问题描述】:我有一个非常基本的原型表视图单元格,设置为 Right Detail 样式。默认情况下,右侧可用的标签垂直居中。但是,如果您将字体大小从默认的 17 更改为 12,那么您会看到它不再居中 - 向下推得太远了。
当你双击标签时,你可以知道它的框架与单元格的底部对齐。
我怎样才能将它垂直对齐在中间呢?谢谢!
查看问题: 1.拖出Table View Controller 2. 将样式更改为右细节 3.选择正确的标签,将字体大小改为12
【问题讨论】:
改变尺寸后重新定位如何?它应该与引导线对齐。 这是不可能的——你不能在故事板中改变它的 x、y、宽度或高度。我没有手动添加那个标签,它是默认的 Right Detail 标签。 您应该创建自己的单元子类并自己创建接口。 【参考方案1】:内置的 Right Detail 表格视图单元格样式正在做正确的事情。这不是你所期望的。您希望它在单元格内垂直对齐。但 Apple 认为 Title 和 Detail 标签都应该baseline对齐。
如果您确实想垂直对齐 Detail 标签,您应该创建自己的自定义 UITableViewCell 子类。为此,您可以添加右细节单元格和自定义单元格。将两个标签从 Right Detail 单元格复制到您的自定义单元格。复制 x、y、宽度和高度,使您的自定义单元格看起来与右侧细节单元格完全相同。然后你可以改变你的字体大小。最后,为您的标签添加必要的约束。对于 Details 标签,您显然想要添加垂直对齐约束。
希望对您有所帮助。祝你好运!
【讨论】:
也许我会再考虑一下,看看我对基线对齐的感觉。模仿我可以免费获得的东西减去中心对齐需要做很多工作。 :p 内置的表格视图单元格样式非常适合原型应用程序。但是,对于发布应用程序,您几乎总是创建自己的自定义子类。所以这是额外的工作,但不是太多:) 它一直困扰着我,所以我确实创造了自己的风格。确实这不是太多的工作 - 感谢您的建议。以上是关于在 UITableViewCell 中垂直居中右细节 UILabel的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UITableViewCell 中垂直居中对齐 UIButton? (目标 C)
Autolayout - 当一个视图具有动态高度时,在 UITableViewCell 中垂直居中两个视图
使用自动布局在 UITableViewCell 中将 UILabel 居中