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

1、创建Category(类别)
iOS开发 UILabel 顶部对齐和底部对齐_第1张图片
1.1 选择iOS下Objective-C File

iOS开发 UILabel 顶部对齐和底部对齐_第2张图片
1.2 选择UILabel 创建Category

iOS开发 UILabel 顶部对齐和底部对齐_第3张图片
1.3 在对应的位置就是新建的Category
2、在.m文件中实现顶部对齐和底部对齐的方法
iOS开发 UILabel 顶部对齐和底部对齐_第4张图片
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文件中声明这两个方法
iOS开发 UILabel 顶部对齐和底部对齐_第5张图片
3.1 在.h文件中声明这两个方法

具体代码如下:

- (void)topAlignment;
- (void)bottomAlignment;
4、在代码中的使用
iOS开发 UILabel 顶部对齐和底部对齐_第6张图片
4.1 在代码中的使用

具体代码如下:

[_descLabel topAlignment];
结语

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

你可能感兴趣的:(iOS开发 UILabel 顶部对齐和底部对齐)