label控件调整字符和控件左右的边距。

本文介绍了一种在iOS中自定义UILabel的方法,通过重写drawTextInRect方法并使用UIEdgeInsets来调整文本与标签边界之间的间距。这种方法允许开发者灵活地控制文本在UILabel中的布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS控件里除了UIButton可以调节字体到左右边界的距离,其他控件都不可以,但可以自定义实现。

.h可以这样写:

// #import "InsetsLabel.h"

 

@interface InsetsLabel : UILabel

@property(nonatomic) UIEdgeInsets insets;

-(id) initWithFrame:(CGRect)frame andInsets: (UIEdgeInsets) insets;

-(id) initWithInsets: (UIEdgeInsets) insets;

@end

.m可以这样写

@implementation InsetsLabel

 

@synthesize insets=_insets;

-(id) initWithFrame:(CGRect)frame andInsets:(UIEdgeInsets)insets {

self = [super initWithFrame:frame];

if(self){

self.insets = insets;

}

return self;

}

 

-(id) initWithInsets:(UIEdgeInsets)insets {

self = [super init];

if(self){

self.insets = insets;

}

return self;

}

 

-(void) drawTextInRect:(CGRect)rect {

return [super drawTextInRect:UIEdgeInsetsInsetRect(rect, self.insets)];

}

 

@end

关键是重写drawTextInRect方法。

这样可以通过insets属性来调节字符距离上下左右的距离。

转载于:https://my.oschina.net/u/2560887/blog/736796

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值