【问题标题】:UITableView with text that is both right-aligned and indented带有右对齐和缩进文本的 UITableView
【发布时间】:2011-12-02 17:58:27
【问题描述】:

我想创建一个UITableView,其文本既右对齐又缩进,如下图所示:

不幸的是,我不能通过写作来做到这一点:-

cell.textLabel.textAlignment = UITextAlignmentRight; 
cell.indentationLevel = 10; // or even -10 

这可以使用UITableView 的属性来完成吗?如果没有,我能想到的唯一方法是使用[myString drawInRect:withFont:];,但我想在进入该方法之前先了解基于对齐和缩进的方法[我已经为此编写了代码:-)],所以欢迎其他变通方法!

附加信息:缩进随加速度计值而变化,因此我不能有硬编码的标签帧位置。我已经在github 上传了示例代码,到目前为止我只使用了对齐和缩进信息,所以继续使用它会更容易。

【问题讨论】:

  • 您可以创建自己的 uilabel 并将其添加到单元格的内容视图中

标签: iphone ios uitableview alignment indentation


【解决方案1】:

子类UITableViewCell,您可以随意放置文本标签的frame。在if 语句中dequeueReusableCellWithIdentifier: 不存在可重复使用的单元格,只需修改frame,然后将标签设置为使用调整后的框架与setFrame。自动调整大小的蒙版应该保持不变。

【讨论】:

  • 那么,有没有办法同时设置右对齐和缩进呢?那我得重写代码了:(
  • 我可能做错了...我使用了 setFrame: 并且标签没有移动。你能看看我在 github 上的代码吗(rootViewcontroller 在上面给出的链接)
  • 我使用了您描述的确切方式,现在它可以工作了...我已将更新后的代码上传至github :)
  • :) 酷。很高兴我能帮忙。抱歉没早点看代码,工作比较忙。
【解决方案2】:

您始终可以创建自己的自定义单元格并在单元格中放置 UITextLabel,并使 UITextLabel 的对齐方式右对齐。

还将 UITextLabel 的自动调整大小掩码设置为右侧,这样无论方向如何,缩进距离都保持不变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多