一尘不染

如何仅在Swift中显示UITextField的底部边框

swift

我想说明 只有 底边框和隐藏的另一侧。

我看到的输出:如您所见,我也看到了顶部,左侧和右侧边框,并且它们是黑色的,我想将其删除。只需要底部白色的粗2.0边框。

我正在使用的代码:

var border = CALayer()
var width = CGFloat(2.0)
border.borderColor = UIColor.whiteColor().CGColor
border.frame = CGRect(x: 0, y: tv_username.frame.size.height - width, width: tv_username.frame.size.width, height: tv_username.frame.size.height)

border.borderWidth = width
tv_username.backgroundColor = UIColor.clearColor()
tv_username.layer.addSublayer(border)
tv_username.layer.masksToBounds = true
tv_username.textColor = UIColor.whiteColor()

阅读 602

收藏
2020-07-07

共1个答案

一尘不染

尝试通过Swift 5.1通过这种方式进行操作:

var bottomLine = CALayer()
bottomLine.frame = CGRect(x: 0.0, y: myTextField.frame.height - 1, width: myTextField.frame.width, height: 1.0)
bottomLine.backgroundColor = UIColor.white.cgColor
myTextField.borderStyle = UITextField.BorderStyle.none
myTextField.layer.addSublayer(bottomLine)

您必须将borderStyle属性设置为None

如果使用自动布局,则设置完美约束,否则将不会显示底线。

希望能帮助到你。

2020-07-07