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

有时候,我们的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就可以了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容