ios开发ios 获取label的宽度怎样通过文字算宽度

拒绝访问 | www. | 百度云加速
请打开cookies.
此网站 (www.) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3a6d4df5d7a943f5-ua98).
重新安装浏览器,或使用别的浏览器问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
就是说lable的款宽度是根据字符的长短来自己适应的。
我看到一些在代码中实现的,想问一下xib中有没有相应的设置呢?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
将autoLayout取消,然后再拉属性,计算出文字的宽度来改变Label的宽度。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
不要给宽度就可以了
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
约束布局允许lbl不给定宽或高
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
使用autolayout可以自动算出宽高,前提是设置好约束。
详细的可以看一下这篇文章:
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:我们有时候在写项目的时候,会碰到,意见反馈,还有其他地方,讲座活动细则等需要大篇展示的文本,
因为每次服务器返回的内容大小不一,所以需要动态的调整label的宽高:
在ios 6 的时候可以:
-(void)creatLabel
//根据文字 字数动态确定label宽高
_nameLabel = [[UILabel alloc]init];
_nameLabel.frame = CGRectMake(100, 100, 100, 40);
_nameLabel.backgroundColor = [UIColor redColor];
_nameLabel.text = @"菩提本无树";
//设置label的字体
HelveticaNeue
UIFont *font = [UIFont fontWithName:@"HelveticaNeue" size:24.0f];
_nameLabel.font =
//根据字体得到nsstring的尺寸
CGSize size = [_nameLabel.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];
//名字的高
CGFloat nameH = size.
//名字的宽
CGFloat nameW = size.
_nameLabel.frame = CGRectMake(100, 100, nameW, nameH);
[self.view addSubview:_nameLabel];
ios 7 的时候可以:
-(void)creatTextField
//根据正文内容多少,动态确定正文content的frame
_content = [[UILabel alloc]init];
_content.frame = CGRectMake(17, 200, self.view.frame.size.width-34, 120);
_content.backgroundColor = [UIColor redColor];
_content.clipsToBounds = YES;
_content.layer.cornerRadius = 10;
_content.numberOfLines = 0;
_content.layer.borderColor = [UIColor grayColor].CGC
_content.layer.borderWidth = 0.8;
_content.text = @"今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗今天天气好晴朗,今天天气好晴朗";
CGFloat contentW = self.view.bounds.size.width - 34;
//label的字体 HelveticaNeue
UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:18.0f];
_content.font =
// iOS7中用以下方法替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法
CGRect tmpRect = [_content.text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil];
CGFloat contentH = tmpRect.size.
NSLog(@"调整后的显示宽度:%f,显示高度:%f",contentW,contentH);
_content.frame = CGRectMake(17, 200, contentW,contentH);
[self.view addSubview:_content];
这样可以很好的解决这个问题!
阅读(...) 评论()IOS label导入带html标签文字,并且可以改变字体大小
今天做项目的时候需要将带html标签显示在label中,以下是实现这个功能的相关代码:
主要是设置label的attributedText属性即可。
UIFont *font = [UIFont systemFontOfSize:14.0f];
NSString * htmlString = [NSString stringWithFormat:@&%@&,mind.mainContent];
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
cell.lblMind.attributedText =attrS
//cell.lblMind.numberOfLines = 0;
cell.lblMind.font =
注:关于改变字体问题,虽然在xib文件中将label的字体设置,但是运行的时候发现字体大小没有改变,如果想要改变字体的大小,必须使用代码重新设置。
以上就是ios中,希望对大家有帮助。
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?计算label的Size方法
sizeWithAttributes:方法 适用于不换行的情况,宽度不受限制的情况
/// 根据指定文本和字体计算尺寸
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font
NSMutableDictionary *attrDict = [NSMutableDictionary dictionary];
attrDict[NSFontAttributeName] =
return [text sizeWithAttributes:attrDict];
boundingRectWithSize:方法,适用于换行的情况,同时适用于不换行的情况,为了兼容两者,代码如下
/// 根据指定文本和字体计算尺寸
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font
return [self sizeWithText:text font:font maxWidth:MAXFLOAT];
/// 根据指定文本,字体和最大宽度计算尺寸
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxWidth:(CGFloat)width
NSMutableDictionary *attrDict = [NSMutableDictionary dictionary];
attrDict[NSFontAttributeName] =
CGSize size = [text boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attrDict context:nil].
阅读(...) 评论()

我要回帖

更多关于 ios 计算label宽度 的文章

 

随机推荐