UITextField에서 Swift 추가 아이콘 / 이미지


101

UITextField에 아이콘 / 이미지를 추가하고 싶습니다. 아이콘 / 이미지는 자리 표시 자에게 맡겨야합니다.

여기에 이미지 설명 입력

나는 이것을 시도했다 :

var imageView = UIImageView();
var image = UIImage(named: "email.png");
imageView.image = image;
emailField.leftView = imageView;

감사.


74
실수로 세미콜론을 추가했습니다. : D
Gerald

10
emailField.leftView = UIImageView(image: UIImage(named: "search")):)
tspentzas

사용하면 @IBDesignable다음 예제와 같이 우아한 방식으로이를 수행 할 수 있습니다. stackoverflow.com/a/51841433/8238512
Rizwan

답변:


121

추가 시도 emailField.leftViewMode = UITextFieldViewMode.Always

(기본값 leftViewModeNever)

Swift 4에 대한 업데이트 된 답변

emailField.leftViewMode = UITextFieldViewMode.always

emailField.leftViewMode = .always

흠 저에게 효과적이었습니다. 업데이트 된 값 ( UITextFieldViewMode.Always)으로 사용해 보셨습니까 ? 작동하지 않은 것이 무엇인지 알고 있습니까? (예를 들어 컴파일 했습니까?)
Markus

이것은 'ViewWillAppear'섹션의 전체 코드입니다. 'var imageView = UIImageView (); var image = UIImage (이름 : "email.png"); imageView.image = 이미지; emailTextField.leftView = imageView; emailTextField.leftViewMode = UITextFieldViewMode.Always
informatiker

@informatiker 좋아, 예를 들어의 배경색을 설정하면 연결이 정확 emailTextField합니까? 그리고 이미지가 있다고 확신합니까? 예를 들어, 다른 UIImageView를 만들고 해당 UIImageView를로드하여 image작동하는지 확인합니다.
Markus

4
네, 감사합니다. 문제는 아이콘이 흰색이고 흰색 배경에 보이지 않는다는 것입니다.
informatiker

5
검색을 계속하고 마침내 작동하게되었고 이미지보기를위한 프레임 설정을 놓쳤습니다. uitextfield에 추가하기 전에 이미지에 프레임을 설정해야하는 것처럼 보입니다. 이런 식으로 뭔가imageView1.frame = CGRect(x: 5, y: 0, width: userName.frame.height, height: userName.frame.height) view.addSubview(imageView1)
Sashi

123

Sahil은 훌륭한 답변을 가지고 있으며 개발자가 스토리 보드의 UITextFields에 이미지를 추가 할 수 있도록이를 @IBDesignable로 확장하고 싶었습니다.

스위프트 4.2

import UIKit

@IBDesignable
class DesignableUITextField: UITextField {
    
    // Provides left padding for images
    override func leftViewRect(forBounds bounds: CGRect) -> CGRect {
        var textRect = super.leftViewRect(forBounds: bounds)
        textRect.origin.x += leftPadding
        return textRect
    }
    
    @IBInspectable var leftImage: UIImage? {
        didSet {
            updateView()
        }
    }
    
    @IBInspectable var leftPadding: CGFloat = 0
    
    @IBInspectable var color: UIColor = UIColor.lightGray {
        didSet {
            updateView()
        }
    }
    
    func updateView() {
        if let image = leftImage {
            leftViewMode = UITextField.ViewMode.always
            let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
            imageView.contentMode = .scaleAspectFit
            imageView.image = image
            // Note: In order for your image to use the tint color, you have to select the image in the Assets.xcassets and change the "Render As" property to "Template Image".
            imageView.tintColor = color
            leftView = imageView
        } else {
            leftViewMode = UITextField.ViewMode.never
            leftView = nil
        }
        
        // Placeholder text color
        attributedPlaceholder = NSAttributedString(string: placeholder != nil ?  placeholder! : "", attributes:[NSAttributedString.Key.foregroundColor: color])
    }
}

여기서 무슨 일이 일어나고 있습니까?

이를 통해 다음을 수행 할 수 있습니다.

  • 왼쪽에 이미지 설정
  • UITextField의 왼쪽 가장자리와 이미지 사이에 패딩 추가
  • 이미지와 자리 표시 자 텍스트가 일치하도록 색상 설정

노트

  • 이미지 색상을 변경하려면 코드의 주석에있는 해당 메모를 따라야합니다.
  • 스토리 보드에서 이미지 색상은 변경되지 않습니다. 시뮬레이터 / 장치에서 색상을 보려면 프로젝트를 실행해야합니다.

스토리 보드에서 디자인 가능 스토리 보드

런타임에 실행 시간


5
이미지 크기 조정을 방지하기 위해 imageView.contentMode = .AspectFit에 추가되었습니다.
Jerland2

3
멋진 게시물에 감사드립니다! RTL 옵션도 갖도록 수정했습니다. 코드는 여기에서 확인할 수 있습니다. pastebin.com/7CCm6NEB
Ali Almohsen

잘 했어요, 여러분! 나도 나중에 같은 일을하게되었다. Ha ha
Mark Moeykens

14
이미지와 텍스트 사이의 패딩은 어떻습니까?
Zaporozhchenko Oleksandr

1
위대한 대답.
Ripa Saha

51

여기에 몇 가지 더 추가하고 싶습니다.

UITextField왼쪽에 이미지를 추가 하려면 leftView속성을 사용하십시오.UITextField

참고 : 음주 설정하는 것을 잊지 leftViewModeUITextFieldViewMode.Always와 권리 rightViewMode에 대한 UITextFieldViewMode.Always and기본값은UITextFieldViewModeNever

예를 들어

왼쪽에 이미지를 추가하려면

textField.leftViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.leftView = imageView

오른쪽에 이미지를 추가하려면

textField.rightViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.rightView = imageView

참고 :UITextField 왼쪽 또는 오른쪽에 이미지를 추가 할 때주의해야 할 사항이 있습니다 .

  • ImageView추가 할 프레임을 지정 하는 것을 잊지 마십시오 .UITextField

    let imageView = UIImageView (frame : CGRect (x : 0, y : 0, 너비 : 20, 높이 : 20))

  • 이미지 배경이 흰색이면 이미지가 표시되지 않습니다. UITextField

  • 특정 위치에 이미지를 추가 ImageView하려면의 하위보기 로 추가해야합니다 UITextField.

Swift 3.0 업데이트

@Mark Moeykens 그것을 아름답게 확장 하고 @IBDesignable로 만드십시오 .

여기에 몇 가지 기능을 수정하고 추가했습니다 (오른쪽 이미지에 하단 라인 및 패딩 추가).

참고 오른쪽에 이미지를 추가하려면 인터페이스 빌더에서 Force Right-to-Left옵션을 선택할 수 있습니다 semantic(그러나 오른쪽 이미지 패딩은 rightViewRect 메서드를 재정의 할 때까지 작동하지 않습니다).

여기에 이미지 설명 입력

나는 이것을 수정했고 여기에서 소스를 다운로드 할 수있다 ImageTextField

여기에 이미지 설명 입력


어떻게 이것을 확장에 추가하고 내 viewcontroller에서 호출 할 수 있습니까? 당신은 저를 제안 할 수 있습니다
narahari_arjun

아주 간단합니다! UIViewController 확장에서 함수를 만들고 해당 함수를 호출 할 때 이미지 이름과 텍스트 필드 참조를 전달하면됩니다.
Sahil

extension UIViewController {func addLeftImage (imageName : String, textField : UITextField) {textField.leftViewMode = UITextFieldViewMode.Always let imageView = UIImageView (frame : CGRect (x : 0, y : 0, width : 20, height : 20)) let image =있는 UIImage (이름 : 참고 ImageName) imageView.image = 이미지 textField.leftView = 이미지 뷰}}와 같은 self.addLeftImage 호출 ( "imganame"에 textField : yourtextfield)
사힐

아이콘 위치를 변경하려고했습니다. 하지만이 코드를 사용하여 변경하지
라훌 Phate에게

22

이미지가있는 UITextField (왼쪽 또는 오른쪽)

또 다른 방법은 이전 게시물에서 영감을 얻어 확장을 만듭니다.

이미지를 오른쪽 또는 왼쪽에 놓을 수 있습니다.

extension UITextField {

enum Direction {
    case Left
    case Right
}

// add image to textfield
func withImage(direction: Direction, image: UIImage, colorSeparator: UIColor, colorBorder: UIColor){
    let mainView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 45))
    mainView.layer.cornerRadius = 5

    let view = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 45))
    view.backgroundColor = .white
    view.clipsToBounds = true
    view.layer.cornerRadius = 5
    view.layer.borderWidth = CGFloat(0.5)
    view.layer.borderColor = colorBorder.cgColor
    mainView.addSubview(view)

    let imageView = UIImageView(image: image)
    imageView.contentMode = .scaleAspectFit
    imageView.frame = CGRect(x: 12.0, y: 10.0, width: 24.0, height: 24.0)
    view.addSubview(imageView)

    let seperatorView = UIView()
    seperatorView.backgroundColor = colorSeparator
    mainView.addSubview(seperatorView)

    if(Direction.Left == direction){ // image left
        seperatorView.frame = CGRect(x: 45, y: 0, width: 5, height: 45)
        self.leftViewMode = .always
        self.leftView = mainView
    } else { // image right
        seperatorView.frame = CGRect(x: 0, y: 0, width: 5, height: 45)
        self.rightViewMode = .always
        self.rightView = mainView
    }

    self.layer.borderColor = colorBorder.cgColor
    self.layer.borderWidth = CGFloat(0.5)
    self.layer.cornerRadius = 5
}

}

사용하다 :

if let myImage = UIImage(named: "my_image"){
    textfield.withImage(direction: .Left, image: myImage, colorSeparator: UIColor.orange, colorBorder: UIColor.black)
}

즐겨 :)


1
당신은 내 하루를 만들었고 "view.backgroundColor"와 "imageView.tintColor"를 사용자 정의하여 완전히 사용자 정의 할 수 있도록했습니다. 귀하의 답변에 감사드립니다 xD
Andres

1
이 굉장
모하메드 Haseel

1
이것은 가장 간단한 답변입니다
제라르 살라 자르 산체스

14

패딩을 만들기 위해 컨테이너 뷰 내부에 이미지를 배치하는 것을 좋아합니다. 아이콘 배치에 만족하면 배경색을 제거 할 수 있습니다.

여기에 이미지 설명 입력

let imageView = UIImageView(frame: CGRect(x: 8.0, y: 8.0, width: 24.0, height: 24.0))
let image = UIImage(named: "my_icon")
imageView.image = image
imageView.contentMode = .scaleAspectFit
imageView.backgroundColor = UIColor.red

let view = UIView(frame: CGRect(x: 0, y: 0, width: 32, height: 40))
view.addSubview(imageView)
view.backgroundColor = .green
textField.leftViewMode = UITextFieldViewMode.always
textField.leftView = view

감사합니다. 색상으로 좋은 설명.
Hamid Reza Ansari

13

Swift 3.0의 경우 textField 왼쪽에 이미지 추가

textField.leftView = UIImageView(image: "small-calendar")
textField.leftView?.frame = CGRect(x: 0, y: 5, width: 20 , height:20)
textField.leftViewMode = .always

6

스위프트 5

@IBOutlet weak var paswd: UITextField! {
    didSet{
      paswd.setLeftView(image: UIImage.init(named: "password")!)
      paswd.tintColor = .darkGray
      paswd.isSecureTextEntry = true
    }   
 }

확장 프로그램을 만들었습니다.

extension UITextField {
  func setLeftView(image: UIImage) {
    let iconView = UIImageView(frame: CGRect(x: 10, y: 10, width: 25, height: 25)) // set your Own size
    iconView.image = image
    let iconContainerView: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 35, height: 45))
    iconContainerView.addSubview(iconView)
    leftView = iconContainerView
    leftViewMode = .always
    self.tintColor = .lightGray
  }
}

결과

여기에 이미지 설명 입력


4

2020-합리적인 솔루션

애플의이 광기에 대해.

여기에 "가장 명확하고"가장 간단한 방법이 있습니다.

여기에 이미지 설명 입력

먼저 텍스트를 올바르게 이동해야합니다.

이 중요한 QA를 참고하십시오 : https://stackoverflow.com/a/27066764/294884

class TidyTextField: UITextField {
    
    @IBInspectable var leftImage: UIImage? = nil
    @IBInspectable var leftPadding: CGFloat = 0
    @IBInspectable var gapPadding: CGFloat = 0
    
    private var textPadding: UIEdgeInsets {
        let p: CGFloat = leftPadding + gapPadding + (leftView?.frame.width ?? 0)
        return UIEdgeInsets(top: 0, left: p, bottom: 0, right: 5)
    }
    
    override open func textRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.inset(by: textPadding)
    }
    
    override open func placeholderRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.inset(by: textPadding)
    }
    
    override open func editingRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.inset(by: textPadding)
    }
    

계속해서 이제 왼쪽 이미지를 만들고 이동해야합니다.

    override func leftViewRect(forBounds bounds: CGRect) -> CGRect {
        var r = super.leftViewRect(forBounds: bounds)
        r.origin.x += leftPadding
        return r
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        setup()
    }
    
    private func setup() {
        if let image = leftImage {
            if leftView != nil { return } // critical!
            
            let im = UIImageView()
            im.contentMode = .scaleAspectFit
            im.image = image
            
            leftViewMode = UITextField.ViewMode.always
            leftView = im
            
        } else {
            leftViewMode = UITextField.ViewMode.never
            leftView = nil
        }
    }
}

이것은 가장 명확하고 신뢰할 수있는 방법 인 것 같습니다.


3

간단한 IBDesignable을 만들었습니다. 그러나 그것을 사용하십시오. UITextField가이 클래스를 확인하도록하십시오.

import UIKit

@IBDesignable
class RoundTextField : UITextField {
    @IBInspectable var cornerRadius : CGFloat = 0{
        didSet{
            layer.cornerRadius = cornerRadius
            layer.masksToBounds = cornerRadius > 0
        }
    }

    @IBInspectable var borderWidth : CGFloat = 0 {
        didSet{
            layer.borderWidth = borderWidth
        }
    }

    @IBInspectable var borderColor : UIColor? {
        didSet {
            layer.borderColor = borderColor?.cgColor
        }
    }

    @IBInspectable var bgColor : UIColor? {
        didSet {
            backgroundColor = bgColor
        }
    }

    @IBInspectable var leftImage : UIImage? {
        didSet {
            if let image = leftImage{
                leftViewMode = .always
                let imageView = UIImageView(frame: CGRect(x: 20, y: 0, width: 20, height: 20))
                imageView.image = image
                imageView.tintColor = tintColor
                let view = UIView(frame : CGRect(x: 0, y: 0, width: 25, height: 20))
                view.addSubview(imageView)
                leftView = view
            }else {
                leftViewMode = .never
            }

        }
    }

    @IBInspectable var placeholderColor : UIColor? {
        didSet {
            let rawString = attributedPlaceholder?.string != nil ? attributedPlaceholder!.string : ""
            let str = NSAttributedString(string: rawString, attributes: [NSForegroundColorAttributeName : placeholderColor!])
            attributedPlaceholder = str
        }
    }

    override func textRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.insetBy(dx: 50, dy: 5)
    }

    override func editingRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.insetBy(dx: 50, dy: 5)
    }

}

3

여기에 이미지 설명 입력
자리 표시 자 아이콘을 설정하고 패딩을 TextField로 설정하는 또 다른 방법입니다.

let userIcon = UIImage(named: "ImageName") 
setPaddingWithImage(image: userIcon, textField: txtUsername)

func setPaddingWithImage(image: UIImage, textField: UITextField){
    let imageView = UIImageView(image: image)
    imageView.contentMode = .scaleAspectFit
    let view = UIView(frame: CGRect(x: 0, y: 0, width: 60, height: 50))
    imageView.frame = CGRect(x: 13.0, y: 13.0, width: 24.0, height: 24.0)
    //For Setting extra padding other than Icon.
    let seperatorView = UIView(frame: CGRect(x: 50, y: 0, width: 10, height: 50))
    seperatorview.backgroundColor = UIColor(red: 80/255, green: 89/255, blue: 94/255, alpha: 1)
    view.addSubview(seperatorView)
    textField.leftViewMode = .always
    view.addSubview(imageView)
    view.backgroundColor = .darkGray
    textField.leftViewMode = UITextFieldViewMode.always
    textField.leftView = view
}

2

스위프트 3.1

extension UITextField
{
    enum Direction
    {
        case Left
        case Right
    }

    func AddImage(direction:Direction,imageName:String,Frame:CGRect,backgroundColor:UIColor)
    {
        let View = UIView(frame: Frame)
        View.backgroundColor = backgroundColor

        let imageView = UIImageView(frame: Frame)
        imageView.image = UIImage(named: imageName)

        View.addSubview(imageView)

        if Direction.Left == direction
        {
            self.leftViewMode = .always
            self.leftView = View
        }
        else
        {
            self.rightViewMode = .always
            self.rightView = View
        }
    }

}

용도와 프레임 매개 변수를 전달하는 데 필요한 사항을 추가하십시오.
Surya Reddy

왼쪽 또는 오른쪽으로보기에이 기능 "프레임"매개 변수 사용에
jethava 인 Yogesh

1

이 함수를 전역 파일이나 클래스 위에 놓을 수 있으므로 전체 응용 프로그램에서 액세스 할 수 있습니다. 이 절차 후에 응용 프로그램의 요구 사항에 따라이 함수를 호출 할 수 있습니다.

        func SetLeftSIDEImage(TextField: UITextField, ImageName: String){

                let leftImageView = UIImageView()
                leftImageView.contentMode = .scaleAspectFit

                let leftView = UIView()

                leftView.frame = CGRect(x: 20, y: 0, width: 30, height: 20)
                leftImageView.frame = CGRect(x: 13, y: 0, width: 15, height: 20)
                TextField.leftViewMode = .always
                TextField.leftView = leftView

                let image = UIImage(named: ImageName)?.withRenderingMode(.alwaysTemplate)
                leftImageView.image = image
                leftImageView.tintColor = UIColor(red: 106/255, green: 79/255, blue: 131/255, alpha: 1.0)
                leftImageView.tintColorDidChange()

                leftView.addSubview(leftImageView)
            }

            SetLeftSIDEImage(TextField: Your_textField, ImageName:YourImageName) // call function

2
StackOverflow에 오신 것을 환영합니다.이 코드와 함께 설명을 할 수있는 방법이 있습니까? 코드 만있는 답변은 품질이 낮아 삭제되는 경향이 있습니다. 도움말 섹션에서 답변에 대한이 가이드를 참조하십시오. stackoverflow.com/help/how-to-answer
Graham

0

가장 쉬운 방법을 선택하십시오. 대부분의 경우 멋진 글꼴 같은 아이콘을 추가하고 싶습니다 ... 글꼴 멋진 라이브러리를 사용하면 다음과 같이 텍스트 필드에 아이콘을 쉽게 추가 할 수 있습니다.

myTextField.setLeftViewFAIcon(icon: .FAPlus, leftViewMode: .always, textColor: .red, backgroundColor: .clear, size: nil)

이 빠른 라이브러리를 먼저 설치해야합니다 : https://github.com/Vaberer/Font-Awesome-Swift


5
하나의 글리프를 얻기 위해 전체 라이브러리를 추가해야하는 이유는 무엇입니까?

0

이것은 Mark Moeykens의 답변을 수정 한 버전으로 이미지와 텍스트 사이에 패딩이 추가되고 누군가가 필요할 경우 이미지 크기를 조정할 수 있습니다.

스위프트 4

    import UIKit

    @IBDesignable
    class TextFieldWithImage: UITextField {

        override func leftViewRect(forBounds bounds: CGRect) -> CGRect {
            return super.leftViewRect(forBounds: bounds)
        }

        @IBInspectable var leftImage: UIImage? {
            didSet {
                updateView()
            }
        }
        @IBInspectable var leftPadding: CGFloat = 0 {
            didSet {
                updateView()
            }
        }
        @IBInspectable var rightPadding: CGFloat = 0 {
            didSet {
                updateView()
            }
        }
        @IBInspectable var imageMaxHeight: CGFloat = 0 {
            didSet {
                updateView()
            }
        }

        @IBInspectable var color: UIColor = UIColor.lightGray {
            didSet {
                updateView()
            }
        }

        func updateView() {
            if let image = leftImage {
                leftViewMode = UITextField.ViewMode.always

                let containerSize = calculateContainerViewSize(for: image)
                let containerView = UIView(frame: CGRect(x: 0, y: 0, width: containerSize.width, height: containerSize.height))

                let imageView = UIImageView(frame: .zero)
                containerView.addSubview(imageView)
                setImageViewConstraints(imageView, in: containerView)

                setImageViewProperties(imageView, image: image)

                leftView = containerView
            } else {
                leftViewMode = UITextField.ViewMode.never
                leftView = nil
            }

            attributedPlaceholder = NSAttributedString(string: placeholder != nil ? placeholder! : "",
                    attributes: [NSAttributedString.Key.foregroundColor: color])
        }

        private func calculateContainerViewSize(for image: UIImage) -> CGSize {
            let imageRatio = image.size.height / image.size.width
            let adjustedImageMaxHeight = imageMaxHeight > self.frame.height ? self.frame.height : imageMaxHeight

            var imageSize = CGSize()
            if image.size.height > adjustedImageMaxHeight {
                imageSize.height = adjustedImageMaxHeight
                imageSize.width = imageSize.height / imageRatio
            }

            let paddingWidth = leftPadding + rightPadding

            let containerSize = CGSize(width: imageSize.width + paddingWidth, height: imageSize.height)
            return containerSize
        }

        private func setImageViewConstraints(_ imageView: UIImageView, in containerView: UIView) {
            imageView.translatesAutoresizingMaskIntoConstraints = false
            imageView.topAnchor.constraint(equalTo: containerView.topAnchor).isActive = true
            imageView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor).isActive = true
            imageView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor, constant: -rightPadding).isActive = true
            imageView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor, constant: leftPadding).isActive = true
        }

        private func setImageViewProperties(_ imageView: UIImageView, image: UIImage) {
            imageView.contentMode = .scaleAspectFit
            imageView.image = image
            imageView.tintColor = color
        }
    }

0

스위프트 5

@Markus와 비슷하지만 Swift 5에서 :

emailTextField.leftViewMode = UITextField.ViewMode.always
emailTextField.leftViewMode = .always

0

SwiftUI

RoundedRectangle(cornerRadius: 50)
                .frame(height: 40)
                .colorInvert() // sets the background white
            .padding()
            .shadow(radius: 12) // adds shadow to the rectangle
                .overlay(
                    HStack(spacing: 20){

                        Image(systemName: "person")
                            .resizable()
                            .aspectRatio(contentMode: .fit)

                        TextField("Username ", text: $username)
                            .font(Font.custom("Arial", size: 25))


                            .font(.title)
                    }
                    .padding()
                    .padding()
                )

결과


0

Swift4의 확장을 사용하면 TextField에 패딩을 적용하여 이미지를 오른쪽 또는 왼쪽에 쉽게 배치 할 수 있습니다.

extension UITextField {

    //MARK:- Set Image on the right of text fields

  func setupRightImage(imageName:String){
    let imageView = UIImageView(frame: CGRect(x: 10, y: 10, width: 20, height: 20))
    imageView.image = UIImage(named: imageName)
    let imageContainerView: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 55, height: 40))
    imageContainerView.addSubview(imageView)
    rightView = imageContainerView
    rightViewMode = .always
    self.tintColor = .lightGray
}

 //MARK:- Set Image on left of text fields

    func setupLeftImage(imageName:String){
       let imageView = UIImageView(frame: CGRect(x: 10, y: 10, width: 20, height: 20))
       imageView.image = UIImage(named: imageName)
       let imageContainerView: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 55, height: 40))
       imageContainerView.addSubview(imageView)
       leftView = imageContainerView
       leftViewMode = .always
       self.tintColor = .lightGray
     }

  }

왼쪽 이미지 설정에 대한 코드 사용 :-

   self.password_text_field.setupLeftImage(imageName: "unlock")

출력 :)

여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.