본문 바로가기

DEV

[iOS/Swift] UITextField와 UITextView의 특징, 차이점

반응형

아래와 같은 사진에서 팀 이름, 팀 규칙, 팀 스케줄, TMI를 입력받기 위해 나는 일단 UITextField로 UI를 만들었다.

팀 이름은 TextField가 한 줄이어도 상관 없지만, 나머지는 여러줄이여야 했다.

그래서 찾아보니 여러줄을 입력받으려면 UITextView를 사용해야 했다!!

둘의 특징에 대해 알아보자

UITextField와 UITextView의 차이점

  UITextField UITextView
입력 줄 수 단일 줄 (한 줄만 가능) 다중 줄 (여러 줄 입력 가능)
스크롤 스크롤 불가 스크롤 가능 (기본적으로 활성화)
플레이스홀더 기본 지원 (placeholder 속성) 기본 지원 없음 (별도 구현 필요)
사용 목적 간단한 입력 (예: 이름, 이메일) 긴 텍스트 입력/표시 (예: 메모, 댓글)
키보드 Return 키 Return 키로 동작 제어 가능 (예: .done) 기본적으로 줄 바꿈으로 동작
패딩 설정 leftView, rightView 또는 서브클래싱 textContainerInset으로 간단히 설정
텍스트 스타일링 기본 스타일링만 지원 더 풍부한 스타일링 가능 (예: NSAttributedString)
델리게이트 UITextFieldDelegate UITextViewDelegate

 

보통 UITextField는 로그인 폼이나 검색창 처럼 한 줄 입력이 필요한 경우 사용된다.

반면 UITextView는 메모 앱이나 채팅 입력 처럼 여러 줄 입력이 필요할 경우 사용된다.

 

UITextField 주요 속성

  • text: 입력된 텍스트 내용.
  • placeholder: 입력 전 표시되는 힌트 텍스트.
  • keyboardType: 키보드 유형(예: .numberPad, .emailAddress).
  • returnKeyType: Return 키의 스타일(예: .done, .next).
  • isSecureTextEntry: 비밀번호 입력처럼 텍스트를 숨길지 여부.
  • leftView/rightView: 텍스트 필드 양쪽에 추가 UI를 붙일 수 있음(예: 패딩, 아이콘).

 

UITextView 주요 속성

  • text: 입력된 텍스트 내용.
  • font: 텍스트의 폰트 스타일.
  • textContainerInset: 텍스트와 뷰 경계 사이의 패딩.
  • isScrollEnabled: 스크롤 활성화 여부.
  • isEditable: 편집 가능 여부.
  • dataDetectorTypes: URL, 전화번호 등을 자동으로 링크로 변환.
반응형