如何绘制UILabel边框[重复]

Posted

技术标签:

【中文标题】如何绘制UILabel边框[重复]【英文标题】:How to draw a UILabel border [duplicate] 【发布时间】:2012-02-27 10:19:46 【问题描述】:

可能重复:CALayer: add a border only at one side

我需要以编程方式绘制 UILabel 的左边框。 使用此代码,它将在标签周围绘制所有边框(上、左、下、右)。

myLabel.layer.borderColor = [UIColor whiteColor].CGColor;
myLabel.layer.borderWidth = 1.5f;

是否有机会使用 QuartzCore 仅绘制左边框,或者我需要向我的 UILabel 添加一个子视图(例如,具有较小权重和背景的 UIView)?

【问题讨论】:

***.com/questions/7022656/… 【参考方案1】:

这很容易。我做了一些类似的编程来在视图上添加“透明”形状(通过按钮显示背景颜色)。 15分钟的方法是:

    创建适当大小 (CGRectMake(0,0,1.5f,myLabel.frame.size.height)) 和颜色的 UILabel 将标签添加到您的视图中(这将使用cornerRadius等剪辑UIlabel) 将autoresizingMask 设置为UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight 让左边框用 myLabel 调整大小并粘在左侧

我想就是这样。应该与很少的戏剧一起工作。如果您要绘制数百或数千个,它可能会很慢,但对于几个标签,没问题。

享受,

达米安

【讨论】:

谢谢!这是一个有趣的解决方案,但是按照链接的问题,我认为创建 CALayer 然后将其添加为子层更容易。如果您需要使用类别(例如 UILabel+Border)“扩展” UILabel 类,这也更容易。再次感谢您的回复! 我同意,偏移框架的链接解决方案更聪明,并且可以更好地扩展。这是我喜欢尝试回答问题的一件事——我通常也会学到一些东西。

以上是关于如何绘制UILabel边框[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何删除右侧的UILabel灰色边框?

如何在IOS中制作带有圆形边框的填充UILabel

在顶部添加UILabel作为UITextField的子视图

重复使用时如何完全清除单元格?

UILabel 背景颜色泄漏到边框

iOS-UILabel中文字与边框间距的自定义