我尝试为uilabel添加边框,但我只希望有top, right, and bottom
边框。
像这样
----------------
|
I am a label |
|
----------------
我尝试使用这些代码,但默认情况下会添加所有4个边
myLabel.layer.borderWidth = 1;
myLabel.layer.borderColor = [UIColor blackColor];
是不是我只能加3条边,或者1条或2条边?
谢谢!
9条答案
按热度按时间lzfw57am1#
你可以用一个面具。这是我用来测试理论的代码,它运行得很好:
您可以调整蒙版的大小和位置(给定borderWidth)以显示/隐藏您感兴趣的边框边缘。上面的示例隐藏了左边缘。
nr9pn0ug2#
你必须调整大小,但这是它的要点。(可能是一些错别字)
qco9c6ql3#
通过创建一个使用UIBezierPath的CALayer,你可以用一条线画出三条边。在所有的例子中,包括QuartzCore框架作为你项目的一部分。
以原始代码为起点:
kulphzqa4#
我用的是雨燕3号。
同样:
其中1是边框的宽度。
h22fl7wq5#
给你们!希望这对你们有帮助,把这个添加到UItextfield重写类里面
uqjltbpv6#
谢谢@jaiswal,我用你的代码创建了一个函数,因为我有10多个UILabel,我把它放在这里作为参考。
调用使用
sq1bmfud7#
您可以子类化UILabel并覆盖drawRect:来做这件事
或者你可以只制作3个带有黑色背景的UIView作为这个标签的子视图。如果你在它们上面正确地设置autoresizingMask,它们将根据标签大小的变化进行调整。上边框应该有灵活的宽度和灵活的下边距,下边框应该有灵活的宽度和灵活的上边距,右边框应该有灵活的高度和灵活的左边距。
tyu7yeag8#
您可以通过多种方式来完成此操作:第一种方法是最简单的,只需找到一个看起来像你的边框的图像。然后将它添加到你的UILabel后面的UIImageView中。第二种方法是覆盖UILabel drawRect:然后根据你的需要画斯托克。
h7wcgrx39#
对uilabel进行简单扩展可以解决导入UIKit的问题