Swift - 라이브러리

Swift - IQKeyboardManagerSwift 라이브러리

iosos 2023. 8. 14. 19:14

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/ 

 

IQKeyboardManagerSwift

오늘 소개해줄 라이브러리는, IQKeyboardManagerSwift 입니다!! 매번 키보드를 올려다내렸다~ 사이즈잡아주는 코드들을 줄여주는 코드입니다. 공식 깃허브 페이지는 https://github.com/hackiftekhar/IQKeyboardMana

choijaegwon.github.io

 

https://velog.io/@kevinkim2586/iOS-Swift-%EA%B3%B5%EB%B6%80-IQKeyboardManagerSwift

 

iOS & Swift 공부 - IQKeyboardManagerSwift

< CocoaPod , Swift Package Manager 모두 호환 >기능 설명: 별도 코드 구현 없이 TextField 를 누르면 알아서 View 가 통째로 올라갈 수 있도록 도와주는 Library.별도 코드 구현 없이 화면 아무 곳이나 누르면 dis

velog.io