3

我有UITableView一些只包含一些文本的单元格。单元格中的文本与单元格的中心垂直对齐,但由于使用的字体,它看起来不太好。文字似乎有点上移了。

我需要调整文本的基线,使文本看起来确实位于单元格的中心(垂直)。

文本设置如下:

cell.textLabel.text = //some text

到目前为止我尝试了什么:

  1. 调整frame标签 ( cell.textlabel) 的属性 - 将偏移量添加到 y 坐标。我认为没有工作,因为我重用了单元格,并且在显示单元格之前重新计算了框架。
  2. 使用自定义UILabel代替cell.textLabel并将其添加为单元格的子视图。UITableView这在设置为编辑模式时效果不佳- 自定义UILabels 在显示红色时没有调整它们的框架 - 显示删除图标。
  3. 我试图设置cell.textLabel.attributedText而不是cell.textLabel.text使用NSBaselineOffsetAttributeName属性来设置偏移量。但是,尽管 XCode 可以识别所有其他属性名称,但无法识别此名称并出现错误Use of undefined identifier NSBaselineOffsetAttributeName。该常量未在任何地方标记为已弃用,但在 iOS 6.0 SDK 发行说明中我发现由于兼容性问题,NSBaselineOffsetAttributeNameiOS 6 不再支持该属性。

非常欢迎任何关于如何将基线偏移应用于表格单元格中包含的文本的建议。解决方案需要兼容 iOS SDK 6.0 并且兼容 iOS SDK 7.0 很好。

4

0 回答 0