Eu só quero adicionar mais alguma coisa aqui:
Se você quiser adicionar a imagem no UITextField
lado esquerdo, use a leftView
propriedade deUITextField
NOTA: Não se esqueça de conjunto leftViewMode
de UITextFieldViewMode.Always
e para a direita rightViewMode
para UITextFieldViewMode.Always and
o padrão éUITextFieldViewModeNever
por exemplo
Para adicionar uma imagem no lado esquerdo
textField.leftViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.leftView = imageView
Para adicionar uma imagem no lado direito
textField.rightViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.rightView = imageView
NOTA: algumas coisas você precisa tomar cuidado ao adicionar uma imagem no UITextField
lado esquerdo ou direito.
Não se esqueça de indicar o ImageView
que você vai adicionarUITextField
let imageView = UIImageView (frame: CGRect (x: 0, y: 0, largura: 20, altura: 20))
se o fundo da sua imagem for branco, a imagem não será visível em UITextField
se você deseja adicionar uma imagem à posição específica que você precisa adicionar ImageView
como a subvisualização de UITextField
.
Atualização para Swift 3.0
@Mark Moeykens Muito bem gasto e torná-lo @IBDesignable .
Eu modifiquei e adicionei mais alguns recursos (adicionar Bottom Line e padding para a imagem certa) neste.
OBSERVAÇÃO se você deseja adicionar uma imagem no lado direito, você pode selecionar a Force Right-to-Left
opção no semantic
construtor de interface (mas para o preenchimento de imagem correto não funcionará até que você substitua o método rightViewRect).
Eu modifiquei isso e posso baixar o código-fonte aqui ImageTextField