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

问题描述 投票:1回答:3

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

我尝试过以下方法:

  • layer.borderWidth设置为0:无效
  • layer.borderColor设置为clearColor:没有效果
  • layer.borderColor设置为与背景相同的颜色,但这似乎创建了一个额外的边框(40%白色),它绘制在前一个(灰色)之上。

我敢肯定必须有一个简单的方法来做到这一点,但我找不到它。

ios uitextfield uikit border
3个回答
1
投票

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

您可以通过使用View Hierarchy进行调试来验证它。将在文本字段中添加图像。将使用带有灰色边框和capInsets的文本字段的背景颜色创建图像,以避免边框拉伸。

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


0
投票

我认为你可以实现这一目标的唯一方法是将边框样式设置为.none(并自行围绕角落)。然后,您可以按照您希望的方式设置边框样式和颜色(或根本没有边框)。


0
投票

如果你想绕着文本字段的角落使用

YourTextField.layer.cornerRadius = 8 //或您要设置的任何值

© www.soinside.com 2019 - 2024. All rights reserved.