即如果要显示为:
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]
使用这种方法取巧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)