UILabel中有英文和中文的情况

melowan 2014-08-15 11:13:55
UILabel *nameLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(90, 80, 180, 150)];
nameLabel1.text = @"丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁wwwwwwwwwwwwwwww丁";
nameLabel1.font = [UIFont systemFontOfSize: 15];
[nameLabel1 setNumberOfLines:0];
nameLabel1.backgroundColor = [UIColor clearColor];
nameLabel1.textColor = [UIColor blackColor];
[self.view addSubview:nameLabel1];
运行结果如下图

如何让在有英文的地方不换行?求高人指教
...全文
522 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwqwwqwww6 2015-01-19
  • 打赏
  • 举报
回复
楼主,能把重写的代码贴上来吗
melowan 2014-11-17
  • 打赏
  • 举报
回复
我是楼主,贴下解决方案,重写UILabel,问题解决
t150ckh 2014-10-09
  • 打赏
  • 举报
回复
引用 9 楼 zhangao0086 的回复:
[quote=引用 7 楼 dream238 的回复:] 你用 .attributedText 试试,使用NSAttributedString来构造排布属性为NSLineBreakByCharWrapping的,应该可以解决。

UIFont* font = [UIFont systemFontOfSize:14.f];
NSMutableParagraphStyle* style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
style.alignment = self.userSelectedTextAlignment;
style.lineBreakMode = NSLineBreakByCharWrapping;
NSMutableDictionary* textAttributes = [NSMutableDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName
                                     , style, NSParagraphStyleAttributeName
                                     , [UIColor blackColor], NSForegroundColorAttributeName, nil];
我之前试过,在iOS7下无效的[/quote] 确实是没有用的,ios7下怎么解决呢?
melowan 2014-08-15
  • 打赏
  • 举报
回复
引用 4 楼 zhangao0086 的回复:
[quote=引用 3 楼 wwlgrubby 的回复:] nameLabel1.lineBreakMode = NSLineBreakByCharWrapping; 和nameLabel1.lineBreakMode = NSLineBreakByWordWrapping; 这个我试过了,没用啊
[/quote] 你这个是运行在ios7上面吗?我用的xcode5,IOS7,确实是没用的
Bannings 2014-08-15
  • 打赏
  • 举报
回复
引用 3 楼 wwlgrubby 的回复:
nameLabel1.lineBreakMode = NSLineBreakByCharWrapping;
和nameLabel1.lineBreakMode = NSLineBreakByWordWrapping;
这个我试过了,没用啊

melowan 2014-08-15
  • 打赏
  • 举报
回复
nameLabel1.lineBreakMode = NSLineBreakByCharWrapping; 和nameLabel1.lineBreakMode = NSLineBreakByWordWrapping; 这个我试过了,没用啊
Bannings 2014-08-15
  • 打赏
  • 举报
回复
加一个断行属性就行了:

nameLabel1.lineBreakMode = NSLineBreakByCharWrapping;
rollrock1987 2014-08-15
  • 打赏
  • 举报
回复
有一个 line什么的属性 设置下试试看
Bannings 2014-08-15
  • 打赏
  • 举报
回复
引用 7 楼 dream238 的回复:
你用 .attributedText 试试,使用NSAttributedString来构造排布属性为NSLineBreakByCharWrapping的,应该可以解决。

UIFont* font = [UIFont systemFontOfSize:14.f];
NSMutableParagraphStyle* style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
style.alignment = self.userSelectedTextAlignment;
style.lineBreakMode = NSLineBreakByCharWrapping;
NSMutableDictionary* textAttributes = [NSMutableDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName
                                     , style, NSParagraphStyleAttributeName
                                     , [UIColor blackColor], NSForegroundColorAttributeName, nil];
我之前试过,在iOS7下无效的
ArcRain 2014-08-15
  • 打赏
  • 举报
回复
写漏了...补充下...

nameLabel1.attributedText = [[NSAttributedString alloc] initWithString:@"丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁丁wwwwwwwwwwwwwwww丁" attributes:textAttributes];
ArcRain 2014-08-15
  • 打赏
  • 举报
回复
你用 .attributedText 试试,使用NSAttributedString来构造排布属性为NSLineBreakByCharWrapping的,应该可以解决。

UIFont* font = [UIFont systemFontOfSize:14.f];
NSMutableParagraphStyle* style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
style.alignment = self.userSelectedTextAlignment;
style.lineBreakMode = NSLineBreakByCharWrapping;
NSMutableDictionary* textAttributes = [NSMutableDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName
                                     , style, NSParagraphStyleAttributeName
                                     , [UIColor blackColor], NSForegroundColorAttributeName, nil];
Bannings 2014-08-15
  • 打赏
  • 举报
回复
引用 5 楼 wwlgrubby 的回复:
[quote=引用 4 楼 zhangao0086 的回复:] [quote=引用 3 楼 wwlgrubby 的回复:] nameLabel1.lineBreakMode = NSLineBreakByCharWrapping; 和nameLabel1.lineBreakMode = NSLineBreakByWordWrapping; 这个我试过了,没用啊
[/quote] 你这个是运行在ios7上面吗?我用的xcode5,IOS7,确实是没用的[/quote] 果然,我用的是iOS8,iOS6和iOS8都正常,iOS7.1估计是Bug了

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧