Много раз разработчики 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 г.