我正在创建一个具有半透明背景颜色(40%白色)的文本字段,在该文本字段上,我将UITextBorderStyle.RoundedRect
用于圆角和文本插图。这样会自动设置一个灰色边框,我要删除该边框,但是我找不到方法。
我尝试了以下方法:
layer.borderWidth
设置为0:无效layer.borderColor
设置为clearColor
:无效layer.borderColor
设置为与背景相同的颜色,但这似乎会创建一个附加边框(40%白色),该边框绘制在前一个边框(灰白色)上)一个。我敢肯定必须有一种简单的方法来做到这一点,但我找不到它。
答案 0 :(得分:1)
如果您为文本字段设置UITextBorderStyle.RoundedRect
,则文本字段会将带有灰色边框的图像添加到文本字段的背景。这就是为什么图层属性不起作用的原因,因为您看到的边框不在图层上,而是其图像已添加到文本字段中。
您可以通过使用视图层次结构进行调试来进行验证。将有一个图像添加到文本字段。将使用文本字段的背景色创建带有灰色边框和capInsets的图像,以避免边框拉伸。
因此,最好的选择是将文本字段设置为UITextBorderStyle.none
。然后自己创建边框。
答案 1 :(得分:0)
我认为,实现此目标的唯一方法是将边框样式设置为.none(然后自行修改)。然后,您可以设置边框样式并以所需的方式上色(或完全没有边框)。
答案 2 :(得分:0)
如果您想绕过文本框的角,请使用
YourTextField.layer.cornerRadius = 8 //或您要设置的任何值