使用 UITextBorderStyle.RoundedRect 时删除文本字段上的边框轮廓
Remove border outline on text field when using UITextBorderStyle.RoundedRect
我正在创建一个具有半透明背景颜色(40% 白色)的文本字段,我在其上使用 UITextBorderStyle.RoundedRect
作为圆角和文本插入。这会自动设置一个我想删除的灰色边框轮廓,但我找不到如何删除。
我试过以下方法:
- 将
layer.borderWidth
设置为0:无效
- 将
layer.borderColor
设置为 clearColor
:无效
- 将
layer.borderColor
设置为与背景相同的颜色,但这似乎会创建一个 附加 边框(40% 白色)绘制在上一个(灰色)。
我确定一定有一个简单的方法可以做到这一点,但我找不到它。
我认为实现此目的的唯一方法是将边框样式设置为 .none(并自行圆角)。然后你可以按照你想要的方式设置边框样式和颜色(或者根本没有边框)。
如果您只想圆角文本框使用
YourTextField.layer.cornerRadius = 8 //或者你想设置的任何值
如果您为文本字段设置 UITextBorderStyle.RoundedRect
,则文本字段将在文本字段的背景中添加一个带有灰色边框的图像。这就是图层属性不起作用的原因,因为您看到的边框不在图层上,它是添加到文本字段的图像。
您可以通过使用视图层次结构进行调试来验证它。将有一个图像添加到文本字段。将使用带有灰色边框和 capInsets 的文本字段背景颜色创建图像,以避免边框拉伸。
所以最好的办法是将文本字段设置为 UITextBorderStyle.none
。然后自己创建边框。
我正在创建一个具有半透明背景颜色(40% 白色)的文本字段,我在其上使用 UITextBorderStyle.RoundedRect
作为圆角和文本插入。这会自动设置一个我想删除的灰色边框轮廓,但我找不到如何删除。
我试过以下方法:
- 将
layer.borderWidth
设置为0:无效 - 将
layer.borderColor
设置为clearColor
:无效 - 将
layer.borderColor
设置为与背景相同的颜色,但这似乎会创建一个 附加 边框(40% 白色)绘制在上一个(灰色)。
我确定一定有一个简单的方法可以做到这一点,但我找不到它。
我认为实现此目的的唯一方法是将边框样式设置为 .none(并自行圆角)。然后你可以按照你想要的方式设置边框样式和颜色(或者根本没有边框)。
如果您只想圆角文本框使用
YourTextField.layer.cornerRadius = 8 //或者你想设置的任何值
如果您为文本字段设置 UITextBorderStyle.RoundedRect
,则文本字段将在文本字段的背景中添加一个带有灰色边框的图像。这就是图层属性不起作用的原因,因为您看到的边框不在图层上,它是添加到文本字段的图像。
您可以通过使用视图层次结构进行调试来验证它。将有一个图像添加到文本字段。将使用带有灰色边框和 capInsets 的文本字段背景颜色创建图像,以避免边框拉伸。
所以最好的办法是将文本字段设置为 UITextBorderStyle.none
。然后自己创建边框。