Swift 4 - UITextfield 边框半径颜色问题
Swift 4 - UITextfield border radius color issue
我目前正在试验 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
你看我想要达到的目标是让背景颜色与我屏幕的其余部分相同(我不希望文本字段的边框旁边是白色。我的按钮也是如此,边框半径根本不会改变(使用的图像与我的按钮大小相同。
欢迎任何帮助!
如果您想申请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
上获得 "same" 的结果
我目前正在试验 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
你看我想要达到的目标是让背景颜色与我屏幕的其余部分相同(我不希望文本字段的边框旁边是白色。我的按钮也是如此,边框半径根本不会改变(使用的图像与我的按钮大小相同。
欢迎任何帮助!
如果您想申请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
上获得 "same" 的结果