Chcę tylko dodać tutaj coś więcej:
Jeśli chcesz dodać obraz UITextField
po lewej stronie, użyj leftView
właściwościUITextField
UWAGA: Nie zapomnij ustawić leftViewMode
na, UITextFieldViewMode.Always
a prawo rightViewMode
do UITextFieldViewMode.Always and
wartości domyślnej toUITextFieldViewModeNever
np
Aby dodać obraz po lewej stronie
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
Aby dodać obraz po prawej stronie
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
UWAGA: na kilka rzeczy należy zwrócić uwagę podczas dodawania obrazu po UITextField
lewej lub prawej stronie.
Nie zapomnij podać ramki, ImageView
którą zamierzasz dodaćUITextField
let imageView = UIImageView (ramka: CGRect (x: 0, y: 0, szerokość: 20, wysokość: 20))
jeśli tło twojego obrazu jest białe, obraz nie będzie widoczny UITextField
jeśli chcesz dodać obraz do określonej pozycji, musisz dodać go ImageView
jako podwidok UITextField
.
Aktualizacja dla Swift 3.0
@Mark Moeykens Pięknie go rozbudował i uczynił z @IBDesignable .
Zmodyfikowałem i dodałem więcej funkcji (dodaj dolną linię i wypełnienie dla prawego obrazu) w tym.
UWAGA, jeśli chcesz dodać obraz po prawej stronie, możesz wybrać Force Right-to-Left
opcję w semantic
konstruktorze interfejsu (ale dla prawego dopełnienia obrazu nie będzie działać, dopóki nie zastąpisz metody rightViewRect).
Zmodyfikowałem to i mogę pobrać źródło stąd ImageTextField