It's an universal solution for keyboard avoiding that automatically changes content inset of your UIScrollView
classes. When keyboard appears you will be able to see all content of your scroll views.
pod 'EKKeyboardAvoiding'
To integrate EKKeyboardAvoiding
into your Xcode project using Swift Package Manager, add it to the dependencies value of your Package.swift
:
dependencies: [
.package(url: "https://github.com/monzo/EKKeyboardAvoiding.git", .upToNextMajor(from: "2.1.0"))
]
First import UIScrollView+EKKeyboardAvoiding
category to your project
#import "UIScrollView+EKKeyboardAvoiding.h"
To enable keyboard avoiding you have to set contentSize
of your scroll view and enable keyboard avoiding using category method setKeyboardAvoidingEnabled:
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[[self view] bounds]];
[scrollView setContentSize:[scrollView frame].size];
...
[scrollView setKeyboardAvoidingEnabled:YES];
To disable keyboard avoiding provide NO
to setKeyboardAvoidingEnabled:
method
##Notes Works on iPhone/iPad iOS 5.0+