Essayez le code ci-dessous pour obtenir un effet d'ombre sur roundRect
champ de texte.
//Basic texfield Setup
textField.borderStyle = .none
textField.backgroundColor = UIColor.groupTableViewBackground // Use anycolor that give you a 2d look.
//To apply corner radius
textField.layer.cornerRadius = textField.frame.size.height / 2
//To apply border
textField.layer.borderWidth = 0.25
textField.layer.borderColor = UIColor.white.cgColor
//To apply Shadow
textField.layer.shadowOpacity = 1
textField.layer.shadowRadius = 3.0
textField.layer.shadowOffset = CGSize.zero // Use any CGSize
textField.layer.shadowColor = UIColor.gray.cgColor
//To apply padding
let paddingView : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 20, height: textField.frame.height))
textField.leftView = paddingView
textField.leftViewMode = UITextFieldViewMode.always
Nota: Pour une raison quelconque textField.borderStyle = .none
ne prend pas effet même en fixant le code dans viewWillLayoutSubviews()
o viewDidLayoutSubviews()
Je vous recommande donc de définir borderStyle dans le champ de texte du storyBoard. Attributes inspector
.
Sortie du dispositif réel :
Pour obtenir un effet d'ombre portée : (comme les autres SO
poteaux)
textField.layer.borderColor = UIColor.black.withAlphaComponent(0.25).cgColor
textField.layer.shadowOffset = CGSize(width: 0, height: 3)
textField.layer.shadowColor = UIColor.black.cgColor //Any dark color
Sortie :