我有UITableView
一些只包含一些文本的单元格。单元格中的文本与单元格的中心垂直对齐,但由于使用的字体,它看起来不太好。文字似乎有点上移了。
我需要调整文本的基线,使文本看起来确实位于单元格的中心(垂直)。
文本设置如下:
cell.textLabel.text = //some text
到目前为止我尝试了什么:
- 调整
frame
标签 (cell.textlabel
) 的属性 - 将偏移量添加到 y 坐标。我认为没有工作,因为我重用了单元格,并且在显示单元格之前重新计算了框架。 - 使用自定义
UILabel
代替cell.textLabel
并将其添加为单元格的子视图。UITableView
这在设置为编辑模式时效果不佳- 自定义UILabel
s 在显示红色时没有调整它们的框架 - 显示删除图标。 - 我试图设置
cell.textLabel.attributedText
而不是cell.textLabel.text
使用NSBaselineOffsetAttributeName
属性来设置偏移量。但是,尽管 XCode 可以识别所有其他属性名称,但无法识别此名称并出现错误Use of undefined identifier NSBaselineOffsetAttributeName。该常量未在任何地方标记为已弃用,但在 iOS 6.0 SDK 发行说明中我发现由于兼容性问题,NSBaselineOffsetAttributeName
iOS 6 不再支持该属性。
非常欢迎任何关于如何将基线偏移应用于表格单元格中包含的文本的建议。解决方案需要兼容 iOS SDK 6.0 并且兼容 iOS SDK 7.0 很好。