【问题标题】:Is there any way to increase width of detailTextLabel in UITableViewCell?有没有办法增加 UITableViewCell 中 detailTextLabel 的宽度?
【发布时间】:2011-12-02 10:32:55
【问题描述】:

我想知道是否可以增加UITableViewCell中detailTextLabel的宽度。 我已经提到了这个UITableViewCell class,但我没有发现任何有用的东西。

任何帮助或建议将不胜感激。谢谢。

注意:我不想使用 CustomCell。

更新 1: 我想这样做的原因:

实际上,我正在从 XML 中解析数据,并在 UITableViewCell 标签中显示产品规格。但我不知道标签中显示的字符串的确切长度,因此我无法确定标签的高度,它的单元格和值被截断,如红色矩形图像所示。

请查看图片以更清楚地了解它:

【问题讨论】:

    标签: iphone ios ipad uitableview


    【解决方案1】:

    您可以尝试继承 UITableViewCell 并覆盖默认的 -(void)layoutSubviews 方法。

    【讨论】:

    • 朋友,你的意思是使用 CustomCell?
    • CustomCell 是什么意思?如果您正在谈论在 InterfaceBuilder 中绘制自定义单元格并从 NIB 加载它,不,这不是我的解决方案。子类化允许您通过更改其中一个方法来快速扩展“经典” UITableViewCell 类。
    • 我更新了问题。我认为 Chris Garrett 的回答会对我有所帮助..谢谢..我现在接受你的回答
    【解决方案2】:
    [cell.detailTextLabel setFrame:aBiggerFrame];
    

    【讨论】:

    • 当心,这样做,您需要自己跟踪方向更改事件,并在发生时更新所有可见单元格。子类化是一个更好的方式去恕我直言。
    • 同意,子类化绝对是更好的方法,但是 OP 说他不想使用自定义单元格。
    • 通过“自定义单元”我听到“从 NIB 加载的单元”,但是,您可能是对的。不管怎样,他现在拥有两种解决方案!
    • 只要 detailTextLabel 有正确的自动调整掩码,由于旋转而导致的 contentView 大小的变化就会传播到它,您不一定需要任何手动更新。
    • 我试过了:cell.textLabel.frame=CGRectMake(0, 0, 355, 50); cell.textLabel.backgroundColor=[UIColor blueColor];但什么也没发生..
    【解决方案3】:

    你可以像@Cyrille 说的那样做一个customCell。

    这是一个链接:

    http://www.e-string.com/content/custom-uitableviewcells-interface-builder

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 2021-03-15
      相关资源
      最近更新 更多