gpt4 book ai didi

ios - 如何动态设置 UILabel 宽度?

转载 作者:行者123 更新时间:2023-11-29 02:46:58 31 4
gpt4 key购买 nike

我有一个 UILabel,它的文本是动态生成的,因此根据文本,UILabel 宽度从 iOS6 增加到 iOS8。有什么解决办法吗?它只适用于 iOS7,在 iOS6.0 中 boundingRectWithSize 方法崩溃,它说 boundingRectWithSize 方法仅适用于 iOS7.0 及更高版本。

float widthIs =[[tagsArray objectAtIndex:i] boundingRectWithSize:_tagsValue.frame.size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:_tagsValue.font } context:nil].size.width;
_tagsValue.frame=CGRectMake(prevTag, 2, widthIs+20, 30);
prevTag+=widthIs+30;

最佳答案

你需要勾选 iOS6 和 iOS7,

if([[[tagsArray objectAtIndex:i] respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]){
float widthIs =[[tagsArray objectAtIndex:i] boundingRectWithSize:_tagsValue.frame.size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:_tagsValue.font } context:nil].size.width;
_tagsValue.frame=CGRectMake(prevTag, 2, widthIs+20, 30);
prevTag+=widthIs+30;
}
else{
float widthIs = [[[tagsArray objectAtIndex:i] sizeWithFont:font constrainedToSize:(CGSize){CGFLOAT_MAX, CGFLOAT_MAX}];
}

关于ios - 如何动态设置 UILabel 宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24994742/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com