美文网首页
uilabel改变内边距

uilabel改变内边距

作者: guoguojianshu | 来源:发表于2020-08-17 11:35 被阅读0次

    .h 直接代码

    @interface CGQBZCustomLabel : UILabel
    @property (nonatomic,assign) UIEdgeInsets CGQBZEdgeInsets;
    @end
    

    .m

    #import "CGQBZCustomLabel.h"
    
    @implementation CGQBZCustomLabel
    
    -(instancetype)init{
        if (self = [super init]) {
            _CGQBZEdgeInsets = UIEdgeInsetsZero;
        }
        return self;
    }
    -(instancetype)initWithFrame:(CGRect)frame{
        if (self = [super initWithFrame:frame]) {
            _CGQBZEdgeInsets = UIEdgeInsetsZero;
        }
        return self;
    }
    -(void)setCGQBZEdgeInsets:(UIEdgeInsets)CGQBZEdgeInsets{
        _CGQBZEdgeInsets = CGQBZEdgeInsets;
    }
    -(void)drawTextInRect:(CGRect)rect{
        
        [super drawTextInRect:UIEdgeInsetsInsetRect(rect, UIEdgeInsetsZero)];
    }
    -(CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines{
        CGRect CGQBZRect =   [super textRectForBounds:UIEdgeInsetsInsetRect(bounds, _CGQBZEdgeInsets) limitedToNumberOfLines:numberOfLines];
        CGQBZRect.origin.x += self.CGQBZEdgeInsets.left;
        CGQBZRect.origin.y += self.CGQBZEdgeInsets.top;
        CGQBZRect.size.width += self.CGQBZEdgeInsets.left + self.CGQBZEdgeInsets.right;
        CGQBZRect.size.height += self.CGQBZEdgeInsets.top + self.CGQBZEdgeInsets.bottom;
        return CGQBZRect;
    }
    

    相关文章

      网友评论

          本文标题:uilabel改变内边距

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