2017-02-26 1 views
0

나는 아래의 코드를 사용하여 내 텍스트 필드에 왼쪽 뷰를 추가했습니다 :이 작동하지 않았다왜 텍스트 필드의 왼쪽보기가 작동하지 않습니까?

usernameField.leftViewMode = UITextFieldViewMode.always 
    passwordField.leftViewMode = UITextFieldViewMode.always 

    let usernameImageView = UIImageView() 
    let usernameImage = UIImage(named: "user icon grey.png") 
    usernameImageView.image = usernameImage 
    usernameField.leftView = usernameImageView 

    let passwordImageView = UIImageView() 
    let passwordImage = UIImage(named: "lock icon grey.png") 
    passwordImageView.image = passwordImage 
    passwordField.leftView = passwordImageView 

을, 나는 다음 UIDesignable, I에 유래에 아래이 질문에서했다 매우 깔끔한 과정을 추가 . 즉, 아래에서 볼 수 있듯이 스토리 보드에서 아이콘을 볼 수 있습니다. 그러나 이것은 나타나지 않습니다. Storyboard with the text field icons

Swift add icon/image in UITextField

+0

보기 디버거를 열고 프레임이 0이 아닌지 확인하십시오. – GoodSp33d

+0

@ GoodSp33d 전에는 신인이 된 적이 없었습니다 ... 프레임이 제로였습니다. 그 원인은 무엇일까요? –

+0

고맙습니다. @ GoodSp33d, 도와 주셔서 감사합니다. –

답변

1

Simulator Photo without text field icons 문제는 당신이 이미지 뷰를 생성하는 방법에있다. 먼저 크기가없는 빈 이미지보기를 만듭니다. 그런 다음 이미지를 이미지보기에 지정하지만 이미지보기의 크기가 자동으로 조정되지는 않습니다.

두 가지 해결책이 있습니다.

  1. 이미지를 지정한 후에 이미지 크기를 조정하도록 알려주십시오.

    let usernameImageView = UIImageView() 
    let usernameImage = UIImage(named: "user icon grey.png") 
    usernameImageView.image = usernameImage 
    usernameImageView.sizeToFit() 
    
  2. 이미지가있는 이미지보기를 만듭니다. 이것은 더 간단한 접근 방법입니다.

    let usernameImage = UIImage(named: "user icon grey.png") 
    let usernameImageView = UIImageView(image: usernameImage) 
    
0

문제는 코드입니다. 이제이 코드를 사용하여 textField의 왼쪽 뷰가 작동합니다.

@IBOutlet weak var name: UITextField! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    usernameField.leftViewMode = .always 
    let usernameImageView = UIImageView() 
    usernameImageView.frame = CGRect(x: 0, y: 0, width: 25, height: 25) 
    let usernameImage = (your image name) 
    usernameImageView.image = usernameImage 
    usernameField.leftView = usernameImageView 
관련 문제