IOS开发之UILabel文字局左上角显示

2019-10-24  本文已影响0人  本客

有时候,我们的label设置的高度比较高,然而文字比较少,这时候文字默认就会水平局左,垂直居中显示,我们都知道UILabel有水平局左,居右,居中的源方法,但是水平的确实没有,这时候的效果就是文字的上面空白很多,下面空白很多,我们只需要写一个UILabel的类就可以实现我们想要的效果,文字局左上角显示,其实很简单:

创建一个继承与UILabel的类,只需要在.m中写以下方法就可以

- (id)initWithFrame:(CGRect)frame {

    return[super initWithFrame:frame];

}

- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {

    CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];

    textRect.origin.y= bounds.origin.y;

    return textRect;

}

-(void)drawTextInRect:(CGRect)requestedRect {

    CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines];

    [super drawTextInRect:actualRect];

}

然后利用该类的名字为对象的属性,创建一个UILabel就可以了

上一篇下一篇

猜你喜欢

热点阅读