How to get left padding on UITextField leftView image?

后端 未结 4 1614
忘了有多久
忘了有多久 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 03:59

    For Swift 3 Users

    Here is what worked for me:

    extension UITextField {
    
     /// set icon of 20x20 with left padding of 8px 
     func setLeftIcon(_ icon: UIImage) {
    
        let padding = 8
        let size = 20
    
        let outerView = UIView(frame: CGRect(x: 0, y: 0, width: size+padding, height: size) )
        let iconView  = UIImageView(frame: CGRect(x: padding, y: 0, width: size, height: size))
        iconView.image = icon
        outerView.addSubview(iconView)
    
        leftView = outerView
        leftViewMode = .always  
      }
    }
    

    test:

    txOrigin.setLeftIcon(icon_location)
    

    result:

提交回复
热议问题