Много раз разработчики iOS сталкиваются с проблемой установки изображений бокового левого/правого просмотра на «UITextField».

Вот короткое и простое решение, написанное на языке Swift.

Код:

общедоступное перечисление UITextFieldSide: Int {

корпус справаСторона

корпус левыйСторона

}

func sideIcon(_ iconImg: UIImage, с imgSize: CGFloat, сбоку: UITextFieldSide) -> Void {

пусть viewSize = self.frame.size.height

пусть sideViewFrame = CGRect(x: 0.0, y: 0.0, ширина: viewSize, высота: viewSize)

пусть sideView = UIView (кадр: sideViewFrame)

переменная imgFrame = CGRect.init()

imgFrame.size.width = imgSize

imgFrame.size.height = imgSize

imgFrame.origin.x = (размер представления — размер изображения) / 2,0

imgFrame.origin.y = (размер представления — размер изображения) / 2,0

пусть imgSideView = UIImageView (кадр: imgFrame)

imgSideView.image = iconImg

sideView.addSubview(imgSideView)

переключить сторону {

случай .leftSide:

self.leftViewMode = .always

self.leftView = вид сбоку

ломать

случай .rightSide:

self.rightViewMode = .always

self.rightView = вид сбоку

ломать

}

}

Независимо от размера вашего текстового поля, вам просто нужно указать размер значка, который вы хотите установить. Он будет установлен по центру с помощью этого метода. Не нужно писать код каждый раз, когда вы хотите установить значки в текстовое поле.

Первоначально опубликовано на сайте andapps.co 6 декабря 2017 г.