使用 UITextBorderStyle.RoundedRect 时删除文本字段上的边框轮廓

Remove border outline on text field when using UITextBorderStyle.RoundedRect

我正在创建一个具有半透明背景颜色(40% 白色)的文本字段,我在其上使用 UITextBorderStyle.RoundedRect 作为圆角和文本插入。这会自动设置一个我想删除的灰色边框轮廓,但我找不到如何删除。

我试过以下方法:

我确定一定有一个简单的方法可以做到这一点,但我找不到它。

我认为实现此目的的唯一方法是将边框样式设置为 .none(并自行圆角)。然后你可以按照你想要的方式设置边框样式和颜色(或者根本没有边框)。

如果您只想圆角文本框使用

YourTextField.layer.cornerRadius = 8 //或者你想设置的任何值

如果您为文本字段设置 UITextBorderStyle.RoundedRect,则文本字段将在文本字段的背景中添加一个带有灰色边框的图像。这就是图层属性不起作用的原因,因为您看到的边框不在图层上,它是添加到文本字段的图像。

您可以通过使用视图层次结构进行调试来验证它。将有一个图像添加到文本字段。将使用带有灰色边框和 capInsets 的文本字段背景颜色创建图像,以避免边框拉伸。

所以最好的办法是将文本字段设置为 UITextBorderStyle.none。然后自己创建边框。