Это похоже на UITextField rightView перекрывает выравнивание текста по правому краю , но мне трудно понять, как это исправить:
Перекрытие происходит на ios 13.1, когда я устанавливаю borderStyle = .none, если присутствует border, текст не перекрывает изображение.
public func addRightImage(_ image: UIImage, accessibilityIdentifier: String? = nil,
size: CGSize) {
self.rightViewMode = .always
let widthImageView : CGFloat = 25
let rightImageView = UIImageView(frame: .init(x: 0, y: 0, width: widthImageView, height: self.bounds.size.height))
rightImageView.accessibilityIdentifier = accessibilityIdentifier
rightImageView.image = image
if #available(iOS 13, *) {
self.rightView = rightImageView
} else {
assert(self.rightImageView == nil)
let widthView : CGFloat = is4incher ? 30 : 50
let rightView = UIView(frame: .init(x: 0, y: 0, width: widthView, height: self.bounds.size.height))
rightView.isUserInteractionEnabled = false
self.rightView = rightView
rightView.addSubview(rightImageView)
rightView.isUserInteractionEnabled = false
self.rightView = rightView
rightImageView.anchors(centerX: rightView.centerXAnchor, centerY: rightView.centerYAnchor,
size: size)
}
rightImageView.set(color: self.textColor ?? .white)
rightImageView.contentMode = .scaleAspectFit
self.rightImageView = rightImageView
}
, если я избавляюсь от
if #available(iOS 13, *) {
self.rightView = rightImageView
и, таким образом, перейдите по пути ios12, изображение центрировано в UITextField, а текст пропал вообще:
Могу ли я что-нибудь сделать, чтобы исправить свой код, или мне нужносообщить об ошибке в Apple, если мой код выглядит нормально?