ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IQKeyboardManager
    개발/iOS 2020. 11. 30. 11:07

     

    iOS에서도 소프트 키보드를 토글하면 UI 뷰 화면을 덮어버리는 문제가 있었다. 안드에서는 그래도 activity 단에서 키보드가 뜰때 어떻게 UI 레이아웃을 변형할지 어느정도 조정이 가능한데 ios에서는 그런게 특별히 없는 것 같다. 키보드가 뜰 때 마다 OS에 물어봐서 keyboard의 height를 알아오고 그에 맞춰서 View를 올려줘야 한다고 하는데.. 매번 하기엔 꽤 번거로운 일이다. 

     

    다행히 삽질(?)을 미리 해두고 라이브러리 형태로 배포를 해뒀다고 한다. 라이브러리 이름은 IQKeyboardManager 이고 사용방법도 아주 간단하다. 먼저 cocoapod을 이용해 라이브러리를 임포트 하자.

     

    platform :ios, '13.0'
    
    target 'Flash Chat iOS13' do
      use_frameworks!
    
      pod 'IQKeyboardManagerSwift'
    
    end

     

    임포트후 AppDelegate라는 파일에 IQKeyboardManager 클래스를 호출해서 관련 속성을 세팅하자.

     

    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            
            IQKeyboardManager.shared.enable = true
            IQKeyboardManager.shared.enableAutoToolbar = false
            IQKeyboardManager.shared.shouldResignOnTouchOutside = true
            
            return true
        }

     

    이렇게만 하고 다시 실행하면 keyboard가 올라옴에 따라서 UI가 자동으로 이동하는 것을 확인 할 수 있다.

     

    '개발 > iOS' 카테고리의 다른 글

    CoreData  (0) 2020.12.05
    UserDefaults  (0) 2020.12.05
    URLSession  (0) 2020.11.30
    Pod  (0) 2020.11.30
    tableview  (0) 2020.11.24

    댓글

Designed by Tistory.