ioslabel
⑴ ios label怎么设置换行
如果任意行数,则设置
label.numberOfLines = 0;
或者设置指定行数
label.numberOfLines = 3;//假设3行
假设需要显示的内容为
NSString *str = @"xxxxxxxx";
label.text = str;
CGSize size = [self sizeThatFits:CGSizeMake(label.frame.size.height, MAXFLOAT)];
CGRect frame = label.frame;
frame.size.height = size.height;
[label setFrame:frame];
这样,即实现了换行,有能自动适应label高度,使其能恰好显示出str。
⑵ ios怎么去除label显示的空行
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
⑶ ios 怎么设置label上内容字体的粗细
UILable *label = [[UILabel alloc]init];
设置字体粗细,需要设置
label.font = [UIFont fontWithName:@"Helvetica" size:15.f];
@"Helvetica"是字体的样式,也就是字体的风格,相当于宋体、楷体等。
常用的字体有Arial,Helvetica等,要加粗就在其后加"-Bold",如,@"Helvetica-Bold"。
size:15.f,这是设定字体的大小,在ios中,size:15.f,其中的15表示15个点(不是像素。如果是retina屏,每个点表示2*2个像素)。