ios怎么去除label显示的空行

ios怎么去除label显示的空行,第1张

iOS7.0之前解决办法:在每个换行符后面添加一个空格

即如果要显示为:

aaaaaaa

空行

空行

bbbbbb

使用以下格式进行文本赋值

lbl.text = @"aaaaaaa\n\u0020\n\u0020bbbbbb"

iOS7.0之后需要增加,不增加则无效

lbl.numberOfLines = 0// 0表示行数不固定

lbl.lineBreakMode=UILineBreakModeWordWrap// 允许换行(可选)

需求2.在所有的UILabel的text后增加一个空格,并使text右对齐。

iOS7.0之前解决办法:直接在text后增加空格即可,即text在赋值前增加空格。

lbl.text = [NSString stringWithFormat:@"%@%@","aaaaa","\u0020"]

iOS7.0之后需要重写UILabel的drawTextInRect方法,通过缩短默认文本绘制Rect的宽度半个字体宽度来实现。

具体实现代码如下:

文件名:MyLabel.h

#import <UIKit/UIKit.h>

@interface MyLabel : UILabel

@end

文件名:MyLabel.m

#import "MyLabel.h"

@implementation MyLabel

-(id) initWithFrame:(CGRect)frame {

self = [super initWithFrame:frame]

if(self){

return self

}

}

-(void) drawTextInRect:(CGRect)rect {

//从将文本的绘制Rect宽度缩短半个字体宽度

//self.font.pointSize / 2

return [super drawTextInRect:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width - self.font.pointSize / 2, rect.size.height)]

}

@end

UILabel * lb = [[UILabel alloc]init]

lb.text = @"123"

lb.text = [NSString stringWithFormat:@" %@",lb.text]

使用这种方法取巧


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11418336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存