Swift 4 - UITextfield 边框半径颜色问题
Posted
技术标签:
【中文标题】Swift 4 - UITextfield 边框半径颜色问题【英文标题】:Swift 4 - UITextfield border radius color issue 【发布时间】:2017-11-18 15:05:37 【问题描述】:我目前正在试验 UITextfields(我是初学者)。 现在我已经设置了我的应用程序的背景颜色并设置了边框半径,但是我在执行此操作时遇到了一个小问题。
我的代码:
superView.backgroundColor = backgroundColorrr
loginView.backgroundColor = backgroundColorrr
loginLabel.textColor = UIColor.white
loginLabel.text = "Login"
loginButton.layer.cornerRadius = 5
loginButton.layer.borderWidth = 2.0
loginButton.imageView?.contentMode = UIViewContentMode.scaleToFill
loginButton.layer.borderColor = UIColor.lightGray.cgColor
loginButton.layer.backgroundColor = backgroundColorrr.cgColor
loginButton.titleLabel?.textColor = UIColor.white
loginButton.titleLabel?.text = "Login"
userNameTextField.layer.cornerRadius = 15.0
userNameTextField.layer.backgroundColor = backgroundColorrr.cgColor
userNameTextField.layer.borderWidth = 0.5
我的结果:
current layout in simulator
您看到我想要实现的是与屏幕的其余部分具有相同的背景颜色(我不希望文本字段边框旁边的白色。我的按钮也是如此,边框半径赢了'根本不改变(使用的图像大小与我的按钮大小相同。
欢迎任何帮助!
【问题讨论】:
【参考方案1】:如果要申请cornerRadius
,需要设置layer.masksToBounds = true
。
设置
userNameTextField.layer.masksToBounds = true
和loginButton.layer.masksToBounds = true
您的完整代码应如下所示:
superView.backgroundColor = backgroundColorrr
loginView.backgroundColor = backgroundColorrr
loginLabel.textColor = UIColor.white
loginLabel.text = "Login"
loginButton.layer.masksToBounds = true
loginButton.layer.cornerRadius = 5
loginButton.layer.borderWidth = 2.0
loginButton.imageView?.contentMode = UIViewContentMode.scaleToFill
loginButton.layer.borderColor = UIColor.lightGray.cgColor
loginButton.layer.backgroundColor = backgroundColorrr.cgColor
loginButton.titleLabel?.textColor = UIColor.white
loginButton.titleLabel?.text = "Login"
userNameTextField.layer.masksToBounds = true
userNameTextField.layer.cornerRadius = 15.0
userNameTextField.layer.backgroundColor = backgroundColorrr.cgColor
userNameTextField.layer.borderWidth = 0.5
注意:如果您申请clipsToBounds = true
,您可以在cornerRadius
上获得“相同”的结果。
【讨论】:
非常感谢!!以上是关于Swift 4 - UITextfield 边框半径颜色问题的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中显示 UITextField 的底部边框不适用于约束。
如何在 Swift 中的 UITextField 下显示错误