IQKeyboardManagerSwift 라이브러리
- iOS 애플리케이션에서 키보드 관련 문제를 해결하기 위한 라이브러리
- 키보드가 텍스 입력 필드와 겹치는 문제, 키보드가 나타나거나 사라질 때의 애니메이션 부드러움 등 처리
- 기본적으로 iOS에서는 키보드가 올라오면 화면 요소들을 가리는 문제가 발생함. 이러한 문제를 해결해주는 라이브러리
- CocoaPods로 설치
CocoaPods로 설치
1. Podfile - 'IQKeyboardManagerSwift' 추가
2. pod install
3. import IQKeyboardManagerSwift
import IQKeyboardManagerSwift
IQKeyboardManagerSwift 사용
참고 링크) https://github.com/hackiftekhar/IQKeyboardManager
프로퍼티, 함수 참고 링크) https://github.com/hackiftekhar/IQKeyboardManager/wiki/Properties-&-Functions
'IQKeyboardManagerSwift' 라이브러리 초기화 및 활성화 - AppDelegate 에서 설정
import UIKit
import IQKeyboardManagerSwift
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// 라이브러리를 사용할 수 있도록 기본 설정
IQKeyboardManager.shared.enable = true
// 별도 코드 작성 없이 키보드 위에 Toolbar 삽입 (Done 버튼 추가)
IQKeyboardManager.shared.enableAutoToolbar = false
// 화면 아무 곳이나 터치하면 키보드 자동으로 내려감
IQKeyboardManager.shared.shouldResignOnTouchOutside = true
return true
}
- 화면 아무 곳이나 터치해도 키보드가 잘 내려감
- 그러나 라벨은 같이 올라오지 않음
→ 'IQKeyboardManagerSwift' 라이브러리는 기본적으로 텍스트 입력 필드와 텍스트 뷰가 키보드에 가려지지 않도록 뷰를 자동으로 올리거나 조정해주기 때문!
라벨은 사용자가 직접 입력하는 요소가 아니기 때문에 키보드가 올라갈 때 라벨은 함께 올라가지 않음!
라벨과 같은 요소를 키보드와 같이 움직이고 싶으면 이전 게시물 참고
2023.08.11 - [분류 전체보기] - Swift - 키보드 올라옴 감지(NotificationCenter, Observer 사용)
- 텍스트 뷰는 자동으로 잘 올라가는 것을 확인할 수 있음
+) toolBar 추가
IQKeyboardManager.shared.enableAutoToolbar = true
- ToolBar 추가된 것을 확인 가능
++) ToolBar - custom
IQKeyboardManager.shared.enableAutoToolbar = true
// toolbar의 글자색 지정
IQKeyboardManager.shared.toolbarTintColor = .black
// toobar의 배경색 지정
IQKeyboardManager.shared.toolbarBarTintColor = .white
참고)
https://choijaegwon.github.io/iosuikit/IQKeyboardManagerSwift/
https://velog.io/@kevinkim2586/iOS-Swift-%EA%B3%B5%EB%B6%80-IQKeyboardManagerSwift
'Swift - 라이브러리' 카테고리의 다른 글
Swift - DropDown 라이브러리 사용 (0) | 2023.08.15 |
---|---|
Swift - Then 라이브러리 (0) | 2023.08.14 |
Swift - 사진(앨범) 가져오기 (YPImagePicker 라이브러리) (0) | 2023.07.29 |
Swift - Alamofire 라이브러리 (0) | 2023.07.01 |
Swift - socketIO 사용 방법(Socket.io 라이브러리) (0) | 2023.06.20 |