본문 바로가기
iOS

iOS UITextField 비활성화(수정 못하게) 하고, 클리어 버튼은 활성화 시키기

by Dokon Jang 2023. 3. 2.
반응형

안드로이드 개발자로써 서서히  iOS 개발의 위한 스터디를 하고 있습니다.

UITextField에 수정을 못하게 하고, 클리어 버튼을 사용해야 하는 경우 가 발생하여 처리 할 수 있는 방법을 구글링에서 찾았습니다.

 

1. UITextField를 화면에 넣습니다.

 

2. TextField의 속성에서 클리어 버튼(Clear Button)을 추가합니다.

 

3. 해당 ViewController에 TextField의 변수를 연결합니다.

import UIKit

class ViewController: UIViewController {

	@IBOutlet weak var textField2: UITextField!
    
}

 

4. ViewController에 프로토클 UITextFieldDelegate을 상속 받습니다.

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

	@IBOutlet weak var textField2: UITextField!
    
}

 

5. UITextFieldDelegate의 함수 textFieldShouldBeginEditing을 재정의하는데, 리턴은 false로 합니다.

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet weak var textField2: UITextField!

    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool{
            return false
    }
}

 

6. TextField 변수의 delegate를 지정하면 작업을 끝납니다.

(TextField는 수정 할 수 없고, 클리어버튼으로 내용은 삭제됩니다.)

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet weak var textField2: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        textField2.delegate = self
    }

    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool{
            return false
    }
}
반응형

댓글