我几乎肯定之前已经问过这个问题,但我搜索了差不多一个小时但没找到任何东西
这是我的代码:
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
那么我会有一个很好的roundRect,但是它们的边界必须是一条细线。见下图:
再次设置clipToBounds = true
不会有任何区别。
编辑:
所以答案是做textField.layer.cornerRadius = 5
。但后来我想知道UITextBorderStyle.roundedRect
那时做了什么?!
答案 0 :(得分:3)
尝试textField.layer.cornerRadius = 5
cornerRadius
- 为图层背景绘制圆角时使用的半径。动画。
var cornerRadius: CGFloat { get set }
将半径设置为大于0.0的值会导致图层为 开始在其背景上绘制圆角。默认情况下 圆角半径不适用于图层内容中的图像 属性;它仅适用于背景颜色和边框 层。但是,将masksToBounds属性设置为true会导致 要剪裁到圆角的内容。
此属性的默认值为0.0。
更新:
但后来我想知道UITextBorderStyle.roundedRect在做什么呢?
基本相同的东西,但默认半径。也许它被某处覆盖了。在Attribute Inspector中查看您的IB属性,边框样式属性: