Swift UITextField边框不为';t形削波

Swift UITextField边框不为';t形削波,swift,uiview,uitextfield,border,Swift,Uiview,Uitextfield,Border,我几乎可以肯定以前有人问过这个问题,但我搜索了将近一个小时,什么也没找到 这是我的代码: textField.font = UIFont.systemFont(ofSize: 12.0) textField.layer.borderWidth = 0.9 textField.placeholder = "border is 0.9 clip is false" textField.layer.borderColor = UIColor.black.cgColor textField.border

我几乎可以肯定以前有人问过这个问题,但我搜索了将近一个小时,什么也没找到

这是我的代码:

textField.font = UIFont.systemFont(ofSize: 12.0)
textField.layer.borderWidth = 0.9
textField.placeholder = "border is 0.9 clip is false"
textField.layer.borderColor = UIColor.black.cgColor
textField.borderStyle = UITextBorderStyle.roundedRect
textField.returnKeyType = UIReturnKeyType.done

如果将
textField.clipsToBounds
设置为
true
false
,则边框不会四舍五入。但是,如果我更改背景颜色,它将填充它,因为它有一个圆角边框,请参见下图

如果您放大,您将看到它没有完全填满角落

如果我设置
textField.layer.borderWidth=0.1
,那么我会有一个很好的roundedRect,但是它们的边框必须是一条细线。见下图:

再次设置
cliptobunds=true
不会有任何区别

编辑:


因此,答案是执行
textField.layer.cornerRadius=5
。但是我想知道,
UITextBorderStyle.roundedRect
当时在做什么

试试
textField.layer.cornerRadius=5

cornerRadius
-为图层背景绘制圆角时使用的半径。可动画化

var cornerRadius:CGFloat{get set}

将半径设置为大于0.0的值会导致图层 开始在其背景上绘制圆角。默认情况下 角半径不适用于图层内容中的图像 财产;它仅适用于背景色和边框 层。但是,将masksToBounds属性设置为true会导致 要剪切到圆角的内容

此属性的默认值为0.0

更新:

但是我想知道UITextBorderStyle.roundedRect在做什么

基本上相同,但具有默认半径。也许它被某个地方覆盖了。在属性检查器的“边框样式”属性中,查看IB属性:


要使边框变圆,请使用cornerRadius属性
textField.layer.cornerRadius=5
。我想你误解了克利普顿的财产。看更多@Jurasic就是这样!那么,
UITextBorderStyle.roundedRect
在做什么?!!那么roundedrect做什么呢?我是通过编程来实现的。