UITextField Summary
이 포스트는 edwith의 iOS 프로그래밍을 공부하고 정리한 내용입니다
edwith iOS 프로그래밍 - Gesture Recognizer의 사용 부분
UITextField
-
텍스트 필드는 사용자 인터페이스에서 편집 가능한 텍스트 영역을 나타낸다
-
사용자가 키보드를 통해 입력하는 문자열 데이터를 활용할 수 있다
-
텍스트 필드는 Target-Action 디자인 패턴과 델리게이트 객체를 사용하여 텍스트 편집 이벤트에 관해 다룬다
키보드 보여주기 / 숨기기
-
사용자가 텍스트 필드를 탭 하게 되면 텍스트 필드는 자동으로 first responder가 되면서 시스템은 키보드를 보여준다
-
사용자가 키보드를 사용하여 입력을 하게되면 텍스트 필드에 텍스트가 입력된다
-
텍스트 필드를 자동으로 탭하는 방법 외에도 becomeFirstResponder() 메서드를 직접 호출해서 키보드를 나타나게 할 수 있다
-
키보드를 숨기기 위해 resignFirstResponder() 또는 endEditing(_:) 메서드를 호출할 수 있다
인터페이스 빌더에서 설정 가능한 속성
Apple Documentation - UITextField
-
텍스트 필드의 속성은 Apple Documentation - UITextField 링크의 Table 1을 참조
-
키보드 속성은 Apple Documentation - UITextField 링크의 Table 2를 참조
텍스트 필드 델리게이트
-
텍스트 필드는 델리게이트 객체의 도움을 받아 텍스트 편집의 이벤트 등을 관리한다
-
사용자가 텍스트 필드를 통한 작업을 할 때 이와 관련된 이벤트들을 델리게이트 객체에게 알리고 이를 사용하여 여러 이벤트를 처리할 수 있다
-
텍스트 필드의 델리게이트 객체의 메서드에 관한 자세한 정보는 UITextFieldDelegate를 참조
Apple Documentation - UITextFieldDelegate
UITextField 클래스의 주요 프로퍼티
-
var delegate: UITextFieldDelegate?
- 텍스트 필드의 델리게이트 객체
-
var text: String?
- 텍스트 필드에 보여지는 문자열
-
var placeholder: String?
- 텍스트 필드에 아무것도 입력되어 있지 않을 때 기본으로 보이게 되는 문자열. 텍스트 필드에 텍스트를 입력하게 되면 사라진다
-
var font: UIFont?
- 텍스트의 폰트를 설정
-
var textColor: UIColor?
- 텍스트의 색상을 설정한다
-
var textAligment: NSTextAligment
- 텍스트의 정렬을 설정한다
-
var isEditing: Bool
- 현재 텍스트 필드가 편집 모드에 있는지 나타낸다
-
var background: UIImage?
- 텍스트 필드가 enable 되어 있을 때의 배경 이미지를 나타낸다
-
var disabledBackground: UIImage?
- 텍스트 필드가 disabled 되어 있을 때의 배경 이미지를 나타낸다
-
var clearButtonMode: UITextFieldViewMode
- 텍스트 필드의 텍스트를 모두 지울 수 있는 컨트롤을 텍스트 필드에 나타나게 할 수 있다
UITextFieldDelegate 프로토콜의 주요 메서드
-
func textFieldShouldBeginEditing(UITextField)
- 델리게이트 객체에게 텍스트 필드에서 텍스트 편집 시작을 요청한다
-
func textFieldDidBeginEditing(UITextField)
- 델리게이트에게 텍스트 필드에서 텍스트 편집이 시작되었음을 델리게이트 객체에게 알린다
-
func textField(UITextField, shouldChangeCharactersIn: NSRange, replacementString: String)
- 델리게이트 객체에게 현재 텍스트의 수정을 요청한다
-
func textFieldShouldEndEditing(UITextField)
- 델리게이트 객체에게 텍스트 편집 중지를 요청한다
Apple Documentation - Article (Using Responders and the Responder Chain to Handle Events)