-
UITextFieldiOS/Xcode + Storyboard 2022. 3. 15. 22:01
UITextField
사용자에게 input을 받기 위해 사용하는 view이다.
관련 속성
attribute inspector의 Text Input Traits에서 다음과 같이 다양한 설정을 할 수 있다.
관련 이벤트 설정
UITextField에서 입력이 끝났을 때 키보드를 사라지게 하거나, 아무것도 입력하지 않은 상황에서 return key를 누르면 키보드가 사라지지 않게 하는 등의 이벤트를 설정해야 할 것이다. 이러한 경우 해당 view controller가
UITextDelegate
프로토콜을 준수하도록 하고 이벤트를 발생시키는 UITextField의delegate
값을 해당 view controller로 설정하면 된다.class WeatherViewController: UIViewController, UITextFieldDelegate { @IBOutlet weak var conditionImageView: UIImageView! @IBOutlet weak var temperatureLabel: UILabel! @IBOutlet weak var cityLabel: UILabel! @IBOutlet weak var searchTextField: UITextField! override func viewDidLoad() { super.viewDidLoad() searchTextField.delegate = self } // ... }
그러면 다음과 같이 메서드 요구사항을 구현하여 다양한 이벤트에 대한 처리를 할 수 있다.
class WeatherViewController: UIViewController, UITextFieldDelegate { // ... @IBAction func searchPressed(_ sender: UIButton) { searchTextField.endEditing(true) // dismiss keyboard print(searchTextField.text!) } func textFieldShouldReturn(_ textField: UITextField) -> Bool { searchTextField.endEditing(true) // dismiss keyboard return true } func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { if searchTextField.text != "" { return true } else { searchTextField.placeholder = "Type something" return false } } func textFieldDidEndEditing(_ textField: UITextField) { searchTextField.text = "" } }
Reference
https://www.udemy.com/course/ios-13-app-development-bootcamp/
'iOS > Xcode + Storyboard' 카테고리의 다른 글
Navigation Controller + Segues (0) 2022.07.05 Dark mode & Vector image (0) 2022.03.15 Multi-screen app (0) 2022.03.12 Auto Layout (0) 2022.03.11 UI와 코드 연결 (0) 2022.03.10