我想我正在努力做一件愚蠢的事......这是我的问题。我想摆脱我的圆形灰色边框使其隐藏或透明,所以我们只能看到阴影。
这是我的情况:
使用以下代码:
private func styleTextField(textField: UITextField)
{
textField.borderStyle = UITextBorderStyle.RoundedRect
//textField.layer.cornerRadius = 5.0
// textField.borderStyle = UITextBorderStyle.None
textField.layer.borderWidth = 0.0
textField.layer.masksToBounds = false
textField.layer.shadowRadius = 4.0
textField.layer.borderColor = UIColor.whiteColor().CGColor
textField.layer.shadowColor = UIColor.grayColor().CGColor
textField.layer.shadowOffset = CGSizeMake(0.0, 0.0)
textField.layer.shadowOpacity = 0.4
//textField.layer.borderColor = UIColor.clearColor().CGColor
}
但我希望得到以下结果:
当然,我认为我可以实现这一目标,但是将其嵌入到一个视图中,但它并不干净,特别是对于这种事情。
有关如何实现这一点的任何想法?或修复此问题?
编辑1:建议后的实际代码。如果这可以帮助。
`class SignUpViewController:UIViewController {
@IBOutlet weak var facebookButton: UIButton!
@IBOutlet weak var connectButton: UIButton!
@IBOutlet weak var passField: UITextField!
@IBOutlet weak var emailField: UITextField!
@IBOutlet weak var nomField: UITextField!
@IBOutlet weak var prenomField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
emailField = self.styleTextField(emailField)
passField = self.styleTextField(passField)
nomField = self.styleTextField(nomField)
prenomField = self.styleTextField(prenomField)
self.styleButton(self.connectButton)
self.styleButton(self.facebookButton)
}
private func styleTextField(textField: UITextField) -> UITextField
{
textField.borderStyle = UITextBorderStyle.RoundedRect
textField.layer.borderWidth = 2.0
textField.layer.borderColor = UIColor.clearColor().CGColor
textField.layer.masksToBounds = false
textField.layer.shadowColor = UIColor.lightGrayColor().CGColor
textField.layer.shadowOpacity = 0.5
textField.layer.shadowRadius = 4.0
textField.layer.shadowOffset = CGSizeMake(0.0, 1.0)
return textField
}
}`
HARY
SWIFT 4.2更新:
通过将所有内容集中在图层上,使其可以使用这些线:
private func styleTextField(textField: UITextField){
textField.borderStyle = .none
textField.layer.masksToBounds = false
textField.layer.cornerRadius = 5.0;
textField.layer.backgroundColor = UIColor.white.cgColor
textField.layer.borderColor = UIColor.clear.cgColor
textField.layer.shadowColor = UIColor.black.cgColor
textField.layer.shadowOffset = CGSize(width: 0, height: 0)
textField.layer.shadowOpacity = 0.2
textField.layer.shadowRadius = 4.0
}
谢谢你的帮助!
问候,
HARY
Swift 4.2代码是IBDesignable Shadow类,可以轻松地与故事板一起使用并查看所有更改
@IBDesignable
class CustomTextfiled: UITextField {
override func awakeFromNib() {
super.awakeFromNib()
}
override func layoutSubviews() {
super.layoutSubviews()
}
@IBInspectable var borderColor: UIColor = UIColor.black {
didSet {
layer.borderColor = borderColor.cgColor
borderStyle = UITextField.BorderStyle.none
layer.masksToBounds = false
layer.cornerRadius = 5.0;
layer.backgroundColor = UIColor.white.cgColor
layer.borderColor = UIColor.clear.cgColor
layer.shadowColor = borderColor.cgColor
layer.shadowOffset = CGSize(width: 0, height: 0)
layer.shadowOpacity = 0.15
layer.shadowRadius = 4.0
}
}