반응형
Notice
Recent Posts
Recent Comments
Link
- Today
- Total
01-23 04:08
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ios
- 티스토리챌린지
- Observable
- SWIFT
- Linux
- barplot
- substr
- rest api
- decode
- Request
- struct
- cocoapods
- SQL
- r
- ReLU
- 명령어
- 딥러닝
- 오블완
- swiftUI
- Optional
- 시각화
- deeplearning
- tapply
- scheduledTimer
- Python
- HTTP
- sigmoid
- MVC
- rxswift
- 연산자
Archives
iOS 개발 기록 블로그
iOS (Swift) UITextField 다루기 본문
반응형
생성
스토리보드에서 + 버튼을 눌러 Text Field를 생성하면 된다.
해당 UI를 클릭하면 오른쪽에 속성 인스펙터 창에서 위와 같이 볼 수 있다.
Placeholder는 희미하게 보이는 회색 글자이다.
Text Input Traits의 Capitalization 속성을 Words로 해주면
단어의 첫 글자가 대문자로 자동 입력된다.
마지막에 Return Key 속성은 키보드의 엔터키를 말한다.
ViewController 스크립트에서 UITextField를 컨트롤+드래그앤드롭으로
IBOutlet을 생성하고 오른쪽에 돋보기 버튼을 같은 방법으로
IBAction을 만들어준다.
그리고 실행하면 직접 입력한 텍스트가 출력이 잘 된다.
그러나 다시 지우고 다른 단어를 입력한 뒤 출력해보면 동작하지 않는다.
이걸 해결해보자.
먼저 11번째 줄에 클래스 선어하고 UITextViewDelegate를 추가해준다.
그리고 21번째 줄에 viewDidLoad안에 위와 같이 추가해준다.
그리고 아래와 같이 함수를 만들어준다.
아래의 함수는 유저가 엔터(리턴)를 눌렀을 때
어떤 처리를 할지 나타내는 함수이다.
코드
import UIKit 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 } @IBAction func searchPressed(_sender: UIButton) { searchTextField.endEditing(true) print(searchTextField.text!) } func textFieldShouldReturn(_textField: UITextField) -> Bool{ searchTextField.endEditing(true) print(searchTextField.text!) return true } func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { if textField.text!= ""{ return true } else { textField.placeholder= "Type something" return false } } func textFieldDidEndEditing(_ textField: UITextField) { searchTextField.text = "" } } |
UITextFieldDelegate를 option키와 같이 누르면 protocol이라고 나온다.
다음 글에서 이것에 대해 알아보고 정리하려고 한다.
참고
안젤라유 강의: https://www.udemy.com/course/ios-13-app-development-bootcamp/
반응형
'iOS' 카테고리의 다른 글
iOS (Swift) Delegate Design Pattern & Protocol (0) | 2022.06.16 |
---|---|
iOS (Swift) Protocol 이란? (0) | 2022.06.15 |
iOS(Swift) 배경 이미지 다크모드에 따라 바뀌게 하기 (0) | 2022.06.10 |
iOS(Swift) Dark Mode 적용 및 Custom Set (0) | 2022.06.09 |
iOS(Swift) SF Symbols 설치 및 이미지 사용 (0) | 2022.06.08 |