Swift 4でキーボードの出し入れに合わせて View の高さを調整する

従来のやり方だと Warning が出る。UIView.safeAreaInsets を使うらしい。

参考程度に・・・。

@IBOutlet weak var someViewBottomConstraint:NSLayoutConstraint!

@objc func keyboardWillShowNotification(notification: Notification) {
    self.view.layoutIfNeeded()
    self.someViewBottomConstraint.constant = notification.getKeyboardRect().height - self.view.safeAreaInsets.bottom
    UIView.animate(withDuration: notification.getDuration(), animations: {
        self.view.layoutIfNeeded()
    })
}

safeAreaInsets については以下参照。

参考サイト:

iOS 11 の Safe Area は Auto Layout だけでなくコードベースでも取れる

フォローする