728x90
아이폰 키보드를 내려보자
프로젝트에 텍스트필드만 추가해보면 키보드가 내려가지 않는것을 알 수 있습니다
return 버튼을 눌렀을 때 자동으로 닫히게 만들수도 있고 Done. 버튼을 만들어 사용자가 원할 때 닫히게 할 수도 있습니다
그 외에도 다양한 방법이 있는데 오늘은 제가 배운 방법에 대해 포스팅하겠습니다
return버튼을 눌러 키보드 내리기
UITextFieldDelegate의 textFieldShouldReturn() 메서드가 호출될 때 키보드를 내리게 할 수 있습니다
코드는 아래와 같습니다
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
SearchRecipe(keyword: searchField.text)
searchField.resignFirstResponder()
return true
}
|
cs |
이 방법은 return버튼이 없는 키보드에는 적용할 수 없는 문제점이 있습니다
Done 버튼 만들기
숫자패드처럼 reutrn버튼이 없는 경우에도 사용할 수 있습니다
UIToolbar를 만들어 버튼이 눌리면 키보드를 내리는 방법입니다
setupTextFields()메서드를 ViewDidLoad()에 넣으면 특정 텍스트뷰가 눌릴때 나타나는 키보드에는 Done툴바가 생성됩니다
func setupTextFields() {
let toolbar = UIToolbar()
let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace,
target: nil, action: nil)
let doneButton = UIBarButtonItem(title: "Done", style: .done,
target: self, action: #selector(DismissKeyboard))
toolbar.setItems([flexSpace, doneButton], animated: true)
toolbar.sizeToFit()
textField.inputAccessoryView = toolbar
}
@objc func DismissKeyboard() {
view.endEditing(true)
}
|
cs |
키보드 내리는 한줄 코드
사실 키보드를 내리는 코드는 딱 한줄이면 됩니다
view.endEditing(true)
|
cs |
이 코드 한줄이면 어떤 작업 중이더라도 키보드를 바로 내리게 할 수 있습니다
공식문서는 아래에 있습니다
https://developer.apple.com/documentation/uikit/uiview/1619630-endediting
참고 블로그
https://kaushalelsewhere.medium.com/how-to-dismiss-keyboard-in-a-view-controller-of-ios-3b1bfe973ad1
728x90
'🍎iOS프로그래밍 > 오늘의 공부' 카테고리의 다른 글
에어비앤비 - 거대한 iOS앱의 생산성을 위해 바꾼 것들(1) (0) | 2023.08.30 |
---|---|
[Swift] COW(Copy-On-Write) (0) | 2023.02.24 |
Xcode - Xcode dosen't support iOS 16 해결하기 - 개발자모드 켜기 (0) | 2022.09.26 |
iOS HIG - Human Interface Guideline 읽어보기 2[iOS-2 Wigets편] (0) | 2022.08.08 |
iOS HIG - Human Interface Guideline 읽어보기1[iOS-1] (0) | 2022.08.07 |
댓글