UILabel的文字在左上角显示
你会不会发现有个问题 就是如果你设置的UILabel高度比较大时候,文字会显示在高度的中间,而不是在左上角
比如这个样子
Snip20170918_2.png
但是我们需要的UILabel的高度就是要这么高,因为我们需要换行,而且文字会有很多,但是如果文字不多时候,就出现上面这个问题,
看我项目中的效果
Snip20170918_3.png
UILabel的文字默认是靠左居中显示的,但是并没有属性让它显示在左上角,仔细想想,我们以前自定义UIButton那就很容易改变按钮里面的图片和文字的位置,所以我也是采用自定义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]; }
效果如下:
Snip20170918_4.png
代码留给你喜欢和点赞留给我
http://git.oschina.net/lanyingwei/codes/c5aoquidgvyn0ptkx42w127