美文网首页
iOS开发 UILabel 顶部对齐和底部对齐

iOS开发 UILabel 顶部对齐和底部对齐

作者: 舒克5251 | 来源:发表于2019-07-11 16:09 被阅读0次
    1、创建Category(类别)
    1.1 选择iOS下Objective-C File
    1.2 选择UILabel 创建Category
    1.3 在对应的位置就是新建的Category
    2、在.m文件中实现顶部对齐和底部对齐的方法
    2.1 在.m文件中实现顶部对齐和底部对齐的方法

    具体代码如下:

    // label顶部对齐
    - (void)topAlignment
    {
        CGSize size = [self.text sizeWithAttributes:@{NSFontAttributeName:self.font}];
        CGRect rect = [self.text boundingRectWithSize:CGSizeMake(self.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:self.font} context:nil];
        self.numberOfLines = 0;
        NSInteger newLinesToPad = (self.frame.size.height - rect.size.height)/size.height;
        for (NSInteger i = 0; i < newLinesToPad; i ++) {
            self.text = [self.text stringByAppendingString:@"\n "];
        }
    }
    
    // label底部对齐
    - (void)bottomAlignment
    {
        CGSize size = [self.text sizeWithAttributes:@{NSFontAttributeName:self.font}];
        CGRect rect = [self.text boundingRectWithSize:CGSizeMake(self.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:self.font} context:nil];
        self.numberOfLines = 0;
        NSInteger newLinesToPad = (self.frame.size.height - rect.size.height)/size.height;
        for (NSInteger i = 0; i < newLinesToPad; i ++) {
            self.text = [NSString stringWithFormat:@" \n%@",self.text];
        }
    }
    
    3、在.h文件中声明这两个方法
    3.1 在.h文件中声明这两个方法

    具体代码如下:

    - (void)topAlignment;
    - (void)bottomAlignment;
    
    4、在代码中的使用
    4.1 在代码中的使用

    具体代码如下:

    [_descLabel topAlignment];
    
    结语

    很简单实用的 UILabel 顶部对齐和底部对齐。
    ~~ 劝君努力,势必成功! ~~

    相关文章

      网友评论

          本文标题:iOS开发 UILabel 顶部对齐和底部对齐

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