Я просто хочу добавить сюда еще кое-что:
Если вы хотите добавить изображение UITextField
слева, используйте leftView
свойствоUITextField
Примечание: Не забудьте набор leftViewMode
для UITextFieldViewMode.Always
и права rightViewMode
на UITextFieldViewMode.Always and
дефолтUITextFieldViewModeNever
например, для
Для добавления изображения слева
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
Для добавления изображения с правой стороны
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
ПРИМЕЧАНИЕ: нужно позаботиться о некоторых вещах, добавляя изображение UITextField
с левой или с правой стороны.
Не забудьте указать рамку, ImageView
которую вы собираетесь добавитьUITextField
пусть imageView = UIImageView (кадр: CGRect (x: 0, y: 0, ширина: 20, высота: 20))
если фон вашего изображения белый, то изображение не будет отображаться на UITextField
если вы хотите добавить изображение в определенную позицию, которую необходимо добавить ImageView
в качестве подвида UITextField
.
Обновление для Swift 3.0
@Mark Moeykens Красиво расширил его и сделал @IBDesignable .
Я изменил и добавил еще несколько функций (добавьте нижнюю строку и отступ для правого изображения) в этом.
ПРИМЕЧАНИЕ: если вы хотите добавить изображение с правой стороны, вы можете выбрать Force Right-to-Left
опцию в semantic
построителе интерфейса (но для правого заполнения изображения не будет работать, пока вы не переопределите метод rightViewRect).
Я изменил это и могу скачать источник отсюда ImageTextField