如何绘制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边框[重复]的主要内容,如果未能解决你的问题,请参考以下文章