Iphone ios如何自动调整uilabel的大小';添加或删除文本时的高度(numberOfLines=0)
我有一个UILabel,显示用户的“个人简历”。我还让用户能够编辑此文本,方法是在用户点击时弹出uitextview,然后在用户完成添加或删除此uitextview中的文本后,我说label.text=textview.text,这样它会更新生物标签的文本。Iphone ios如何自动调整uilabel的大小';添加或删除文本时的高度(numberOfLines=0),iphone,ios,resize,height,uilabel,Iphone,Ios,Resize,Height,Uilabel,我有一个UILabel,显示用户的“个人简历”。我还让用户能够编辑此文本,方法是在用户点击时弹出uitextview,然后在用户完成添加或删除此uitextview中的文本后,我说label.text=textview.text,这样它会更新生物标签的文本。 但是,我希望有一种方法告诉标签根据添加或删除的文本量来确定其高度。有没有办法做到这一点?提前谢谢你 Nathan您可以使用[NSString sizeWithFont:…]测量标签中使用的文本 另见: 这将根据新文本调整标签(高度)(同时考
但是,我希望有一种方法告诉标签根据添加或删除的文本量来确定其高度。有没有办法做到这一点?提前谢谢你
Nathan您可以使用[NSString sizeWithFont:…]测量标签中使用的文本 另见: 这将根据新文本调整标签(高度)(同时考虑字体和换行模式) 注意:从6.0开始,UILineBreakMode已被弃用。改用NSLineBreak 打电话
[labelName sizeToFit];
设置新文本后。还要确保将换行字或换行字符设置为:
[labelName setLineBreakMode:UILineBreakModeWordWrap];
或
如果您还有其他问题,请告诉我 iOS 7中不推荐使用此方法“sizeWithFont”,而不是此方法。您可以使用以下方法:
CGRect rect = [YourText boundingRectWithSize:CGSizeMake(labelWidth, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin
context:nil];
NSLog(@"Height: %f",rect.size.height);
有关更多信息,请查看:谢谢。这完全可行,但我的标准之一是保持相同的宽度
[labelName setLineBreakMode:UILineBreakModeCharacterWrap];
CGRect rect = [YourText boundingRectWithSize:CGSizeMake(labelWidth, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin
context:nil];
NSLog(@"Height: %f",rect.size.height);