美文网首页ios相关点OC-开发案例收集
UILabel的文字在左上角显示

UILabel的文字在左上角显示

作者: 凡尘一笑 | 来源:发表于2017-09-18 17:25 被阅读331次

    你会不会发现有个问题 就是如果你设置的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
    备注:

    如果有不足或者错误的地方还望各位读者批评指正,可以评论留言,笔者收到后第一时间回复。

    QQ/微信:2366889552 /lan2018yingwei。

    简书号:凡尘一笑:[简书]

    http://www.jianshu.com/users/0158007b8d17/latest_articles

    感谢各位观众老爷的阅读,如果觉得笔者写的还凑合,可以关注或收藏一下,不定期分享一些好玩的实用的demo给大家。

    文/凡尘一笑(简书作者)

    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

    相关文章

      网友评论

        本文标题:UILabel的文字在左上角显示

        本文链接:https://www.haomeiwen.com/subject/admbsxtx.html