How to get left padding on UITextField leftView image?

后端 未结 4 1623
忘了有多久
忘了有多久 2021-01-05 03:15

I am setting up a UIImageView as a leftView on a UITextField like so:

UIImageView *envelopeView = [[UIImageView alloc]         


        
4条回答
  •  忘掉有多难
    2021-01-05 04:08

    For Swift 4.2 +

    You can use this extension:

    extension UITextField {
        func leftImage(_ image: UIImage?, imageWidth: CGFloat, padding: CGFloat) {
            let imageView = UIImageView(image: image)
            imageView.frame = CGRect(x: padding, y: 0, width: imageWidth, height: frame.height)
            imageView.contentMode = .center
            
            let containerView = UIView(frame: CGRect(x: 0, y: 0, width: imageWidth + 2 * padding, height: frame.height))
            containerView.addSubview(imageView)
            leftView = containerView
            leftViewMode = .always
        }
    }
    

提交回复
热议问题