UILabel的文字在左上角显示

简介: UILabel的文字在左上角显示

UILabel的文字在左上角显示


你会不会发现有个问题 就是如果你设置的UILabel高度比较大时候,文字会显示在高度的中间,而不是在左上角

比如这个样子


2193f98f83b239b5159b92abb147c144.png

Snip20170918_2.png


但是我们需要的UILabel的高度就是要这么高,因为我们需要换行,而且文字会有很多,但是如果文字不多时候,就出现上面这个问题,

看我项目中的效果

a34e0fd1a814fd153107457c37a947d7.png

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];
}

效果如下:

1513fe0c362ae2390082fa5cdb1b3316.png

Snip20170918_4.png

代码留给你喜欢和点赞留给我

http://git.oschina.net/lanyingwei/codes/c5aoquidgvyn0ptkx42w127

相关文章
|
4月前
|
前端开发
如何在页面中画一个canvas,然后在居中位置写上蓝色‘Hello Canvas‘,并加上文字描边 * @type {HTMLElement}
如何在页面中画一个canvas,然后在居中位置写上蓝色‘Hello Canvas‘,并加上文字描边 * @type {HTMLElement}
|
6月前
SVProgressHUD弹出框总是显示在屏幕左上角问题
SVProgressHUD弹出框总是显示在屏幕左上角问题
88 0
鼠标悬浮显示文字的简单方法
鼠标悬浮显示文字的简单方法
169 0
|
JavaScript 前端开发
菜单栏底部线条切换效果(标题滚动居中显示)
菜单栏底部线条切换效果(标题滚动居中显示)
164 0
菜单栏底部线条切换效果(标题滚动居中显示)
|
Linux 云计算 Python
如何在文章中设置灰色文本框(正文底色)
一个优美而又整齐的文章排版是斩获读者三连的必备要素
254 0
如何在文章中设置灰色文本框(正文底色)
|
前端开发 JavaScript
修改Tooltip 文字提示 的背景色 箭头颜色
修改Tooltip 文字提示 的背景色 箭头颜色
改变UITableView选中行高亮的颜色
改变UITableView选中行高亮的颜色
115 0
如何让QComboBox控件下拉框自适应文字宽度?
如何让QComboBox控件下拉框自适应文字宽度?
1148 0