如何设置动态生成的标签边框(不是来自Interface Builder)?
答案 0 :(得分:29)
你可以通过
来做到Label.layer.borderColor = [UIColor whiteColor].CGColor;
Label.layer.borderWidth = 4.0;
在此之前你需要导入一个框架QuartzCore / QuartzCore.h
答案 1 :(得分:3)
Swift版
设置标签边框
label.layer.borderWidth = 2.0
设置边框颜色
label.layer.borderColor = UIColor.blueColor().CGColor
使用圆角
label.layer.cornerRadius = 8
使背景颜色保持圆角
label.layer.masksToBounds = true
答案 2 :(得分:1)
你也可以尝试子标记你的标签并覆盖drawRect:方法来绘制或边框或任何你喜欢的东西:
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
CGContextRef context = UIGraphicsGetCurrentContext();
[[UIColor blackColor] setStroke];
CGContextStrokeRect(context, self.bounds);
}
答案 3 :(得分:0)
我不确定您是否可以默认使用UILabel
。您可能需要考虑使用只读(field.editing = NO)UITextField
并设置它的borderStyle(可以使用UITextBorderStyle
以编程方式完成)。虽然这可能有点'沉重'。另一种选择可能是子类UILabel
来绘制你的边界。
或者,根据您的需要,这可能会更好,使用支持CALayer
并使用borderColor和borderWidth属性绘制边框。