在iOS 7中更改tableview中的标签高度
我在表视图的自定义单元格中有一个标签。 在用户录制单元格后,我想更改单元格高度和标签高度(起初我只显示2行,我想显示更多文本) 我可以根据单元格内容更改单元格高度,但不幸的是,我无法更改标签高度:(( 我读了很多答案,但还是一无所获 据信,这将起作用:在iOS 7中更改tableview中的标签高度,ios,uitableview,ios7,label,cgsize,Ios,Uitableview,Ios7,Label,Cgsize,我在表视图的自定义单元格中有一个标签。 在用户录制单元格后,我想更改单元格高度和标签高度(起初我只显示2行,我想显示更多文本) 我可以根据单元格内容更改单元格高度,但不幸的是,我无法更改标签高度:(( 我读了很多答案,但还是一无所获 据信,这将起作用: CGSize labelSize = [@"Hello World!" sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(label.frame.size
CGSize labelSize = [@"Hello World!" sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(label.frame.size.width,MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
但这在iOS 7中已被弃用;有人能帮我调整单元格中标签的大小吗?
UITableViewCell
在-layoutSubviews
中布局它的内容。因此,如果您只想拥有自定义布局逻辑,您需要对UITableViewCell
进行子类化,并覆盖-layoutSubviews
方法不过,在应用逻辑之前,最好先调用super
。如果您想要标签相对于单元格高度的高度,并使用情节提要,则应使用与单元格内容视图相关的约束来确定标签的大小。只需将标签的顶部和底部距离设置为ContentView,标签没有额外的高度
如果您不知道如何设置故事板和约束,这可能会有所帮助:您可以使用类似的方法来获得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;
}
谢谢!真的很有帮助!我使用了自动布局和约束!