2 developerwab developerWab 于 2013.05.17 13:34 提问

UILabel加边框之后没有空隙

给UILabel加了一个边框:

Label.text = lbltext;
Label.layer.borderColor = [[UIColor grayColor] CGColor];
Label.layer.borderWidth = 2;

但是运行之后在文字和边框之间没有间隔。

怎么设置像UIButton的内凹效果?

4个回答

KindAzrael
KindAzrael   2013.05.17 20:06
已采纳

想要实现文字河边框之间有间隔 必须自定义Label 重写drawTextInRect:(CGRect)rect 方法
例如

@interface TestUILabel : UILabel
@end
@implementation TestUILabel
- (void)drawTextInRect:(CGRect)rect {
   //文字距离上下左右边框都有10单位的间隔
  CGRect newRect = CGRectMake(rect.origin.x + 10, rect.origin.y + 10, rect.size.width - 20, rect.size.height -20);
  [super drawTextInRect:newRect];
}
@end

你同时对label加上文字中间对齐属性 这样基本可以实现你想要的

prettYYoyic
prettYYoyic   2013.05.17 16:21

将label放到一个容器视图中,然后给容器加边框

y282696845
y282696845   2016.02.24 17:45

ios8中会异常,我已经中招了!!!

y282696845
y282696845   2016.02.24 17:46

ios8中会异常,我已经中招了!!!

Csdn user default icon
上传中...
上传图片
插入图片