当前位置: 首页 > 知识库问答 >
问题:

在iOS7中更改桌面视图中的标签高度

百里智勇
2023-03-14

我在表格视图中的自定义单元格中有一个标签。我想在用户录制单元格后更改单元格高度和标签高度(起初我只显示2行,我想显示更多文本),

我可以根据单元格内容更改单元格高度,但不幸的是,我无法更改标签高度:(我已经阅读了大量stackoverflow答案,但仍然一无所获。

人们认为这是可行的:

CGSize labelSize = [@"Hello World!" sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(label.frame.size.width,MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];

但这在iOS 7中被弃用;任何人都可以帮我调整单元格中的标签大小吗?

共有3个答案

方俊
2023-03-14

你可以使用类似这样的东西来获得UIlabel大小

-(CGFloat)getLabelSize:(UILabel *)label fontSize:(NSInteger)fontSize
{


    NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                      [UIFont systemFontOfSize:fontSize], NSFontAttributeName,
                                      nil];

    CGRect frame = [label.text boundingRectWithSize:CGSizeMake(270, 2000.0)
                                        options:NSStringDrawingUsesLineFragmentOrigin
                                     attributes:attributesDictionary
                                        context:nil];

    CGSize size = frame.size;

    return size.height;
}
司马同
2023-03-14

UITableViewCell-layoutSubview中布置它的内容。因此,如果您想简单地拥有自定义布局逻辑,您需要子类UITableViewCell并覆盖-layoutSubview方法。不过,在应用逻辑之前调用Super是个好主意。

申屠洛华
2023-03-14

如果您希望标签的高度相对于单元格的高度,并且使用“情节提要”,则应使用与单元格内容视图相关的约束来确定标签的大小。只需设置标签到ContentView的顶部和底部距离,标签不需要额外的高度。

如果您不知道如何设置故事板和约束,这可能会有所帮助:https://developer . apple . com/library/IOs/documentation/user experience/Conceptual/AutoLayoutbyExample/AutoLayoutbyExample . html

 类似资料:
  • 我将视图背景颜色设置为绿色,这样您可以清楚地看到底部的额外空间。 无论我将高度设置为大于,也不设置扩展边缘取消选择"下顶栏",额外的空间总是存在的。 你能给我一些建议吗?我使用了Xcode 5和IOS SDK 7.0。 谢谢。

  • 我通过图像视图显示了程序中的图标。按下按钮时,黄色图标应变为红色。我尝试了所有方法,但没有一个有效。...背景颜色...他把图像视图变成红色,呈全正方形。我只想让图标改变颜色。这是非常困难的'请帮忙。谢谢。 我的代码:

  • 如何在更新异步下载图像的图像高度约束后更新tableview单元格高度? 如何在图像下载和约束条件改变后触发tableView单元格重新布局? 最好的方法是什么? 已经尝试将代码放入Dispatmain队列,但结果同样糟糕。我在cellForRow方法中执行此操作,还将其移动到will DisplayCell。一次又一次地出现这个问题… 使用翠鸟库进行图像缓存的代码示例:

  • 试图在ChartJS中得到一个linechart。我希望yAxis标签应该是0、250k、500k、750k。 如何更改标签,使其最小值始终为0?

  • 在应用程序启动时,我试图使用以下代码通过查看加载更改单独视图的位置: 但是,这似乎无法直接在viewDidLoad中工作。如果我使用iAction将to指定给按钮,代码就会工作 我猜我这里遗漏了什么,但我不知道是什么。

  • 在JavaFX中,如何使用“标签”显示随时间不断变化的值?