[UIKit] TextField Delegate

2023. 11. 12. 17:24·iOS/UIKit

어떤 함수가 실행됐는지 알 수 있음

print(#function)

 
 
대부분 extension 사용해서 구현(코드가 섞이기 때문)

extension ViewController: UITextFieldDelegate {
	// 구현
}

 
 
텍스트 필드 키보드 올라오게 설정(사용자 유도)

// 최초응답자 설정(responder) (뷰마다 특성이 조금 다름) (UIResponder)
// 전체화면이 터치를 입력받을 수 있는 상태 ==> 텍스트필드가 가장 먼저 입력받는 상태
// 키보드가 올라옴 (손가락 터치로 직접 최초응답자 설정도 가능)
textField.becomeFirstResponder()

 
 
텍스트 필드에 제한을 주고 싶을 때(ex 글자 수, 숫자 제한 등등)

// 텍스트필드에 글자내용이 (한글자 한글자) 입력되거나 지워질때 호출 (허용할지 말지를 물어보는 것)
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
	print(#function)
 	print("텍스트필드의 입력값: \(string)")
        
	// 입력되고 있는 글자가 "숫자"인 경우 입력을 허용하지 않는 논리
	if Int(string) != nil {  // (숫자로 변환이 된다면 nil이 아닐테니)
		return false
	} else {
		// 10글자이상 입력되는 것을 막는 코드
		guard let text = textField.text else { return true }
		let newLength = text.count + string.count - range.length
		return newLength <= 10
	}
        
	// 10글자이상 입력되는 것을 막는 코드 (또다른 구현법)
	if (textField.text?.count)! + string.count > 10 {
		return false
	} else {
		return true
	}
        
	//return true
}

 
 
화면 터치하면 키보드 내리기

// 화면에 탭을 감지(UIResponder)하는 메서드
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
	textField.resignFirstResponder()
	//self.view.endEditing(true)
}

 
 
비밀번호 표시하기

textField.isSecureTextEntry.toggle()

'iOS > UIKit' 카테고리의 다른 글

[UIKit] 코드로만 로그인 화면 만들기, MVC 적용  (0) 2023.11.12
[UIKit] Alert  (0) 2023.11.12
[UIKit] autolayout, code base UI  (0) 2023.11.11
'iOS/UIKit' 카테고리의 다른 글
  • [UIKit] 코드로만 로그인 화면 만들기, MVC 적용
  • [UIKit] Alert
  • [UIKit] autolayout, code base UI
임구마🍠
임구마🍠
임구마 블로그임구마🍠 님의 블로그입니다.
임구마🍠
임구마 블로그
임구마🍠
전체
오늘
어제
  • 분류 전체보기 (67)
    • iOS (13)
      • Swift (2)
      • SwiftUI (3)
      • UIKit (4)
      • Xcode (2)
      • WWDC (1)
    • SW 테스팅 (9)
      • CSTS (3)
      • ISTQB (5)
    • 네트워크 (5)
    • 자료구조 (2)
    • 알고리즘 (2)
    • 인프라 (0)
    • 개인 공부 (0)
      • Git & Github (3)
      • 프로그래머스 (24)
      • 자격증 (2)
    • 기타 (7)
      • 원티드 프리온보딩 (1)
      • 취준 (1)
      • 컨퍼런스 (2)
      • 면접 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

CSTS
인프콘2023
colorLiteral
세션기반인증
쿠키기반인증
또주세요
wwdc19
SQLD
자격증
네트워크 병목 현상
StateObject
인프콘
ISTQB
코드스니펫
INFCON2023
SwiftUITutorials
introducing
나도 갈래
subscription
imageLiteral
combinelastest
토큰기반인증
SwiftUI
EnvironmentObject
ObservedObject
jwt
네트워크 성능 분석
INFCON
데이터바인딩
갈래요

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.3
임구마🍠
[UIKit] TextField Delegate

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.