iOS13上UITextField的leftView显示问题

1,422 阅读1分钟

在开发中发现一个UI问题:

左边的+86部分是用leftView实现的,在iOS12及以下版本是能正常显示的, 如
不知道系统对这个leftview的做了怎样的处理导致的问题, 调试发现, 可以重写UITextField中的leftViewRectForBounds方法, 可以解决这个问题:

- (CGRect)leftViewRectForBounds:(CGRect)bounds {
    UIView *leftView = self.leftView;
    if (leftView) {
        return CGRectMake(0, 0, leftView.frame.size.width, leftView.frame.size.height);
    } else {
        return CGRectZero;
    }
}