UITextField 안에 이미지 등을 표시시킨다 (.leftView, .rightView)

8923 단어 Swift

이번 내용





코드와 간략한 설명


  • .leftViewMode.always로 설정되어 있기 때문에 항상 .leftView가 표시됩니다. ( .rightView 그럼에도 불구하고)
  • .leftView.rightViewUIView를 설정해야하지만 UIImageView 또는 UISwitch와 같이 UIView가 계층 구조에 포함되어 있으면 . (모두 조사된 것은 아니기 때문에 설정할 수 없는 경우도 있을지도 모릅니다)
  • import UIKit
    
    class FirstActionViewController: UIViewController {
    
        @IBOutlet weak var textfield: UITextField!
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            textfield.leftViewMode = .always
            textfield.leftView = {() -> UIImageView in
    
                let imageView = UIImageView(frame: CGRect(x: textfield.frame.minX + 10, y: textfield.frame.minY, width: textfield.frame.height - 10, height: textfield.frame.height))
                imageView.image = UIImage(systemName: "lock.fill")
                imageView.tintColor = .systemRed
    
                return imageView
            }()
    
    
            //コードで作成したUITextField
            let textfield01 = UITextField()
            textfield01.frame = CGRect(x: view.frame.maxX / 10, y: view.frame.maxY / 6, width: view.frame.width - (view.frame.maxX / 5), height: 50)
            textfield01.placeholder = "UITextField01"
            textfield01.layer.cornerRadius = 10.0
            textfield01.layer.borderWidth = 1.0
            textfield01.leftView = {() -> UIImageView in
    
                let imageView = UIImageView(frame: CGRect(x: textfield01.frame.minX, y: textfield01.frame.minY, width: textfield01.frame.height, height: textfield01.frame.height))
                imageView.image = UIImage(systemName: "lock.fill")
                imageView.tintColor = .systemRed
    
                return imageView
             }()
    
            textfield01.rightViewMode = .always
            textfield01.rightView = UISwitch()
            textfield01.leftViewMode = .always
            textfield01.layer.borderColor = UIColor.black.cgColor
            textfield01.backgroundColor = .white
            view.addSubview(textfield01)   
        }
    
    }
    



    지적, 질문 등 있으면, 코멘트까지 부탁드립니다.

    좋은 웹페이지 즐겨찾기