標籤:pre tor ons ati nbsp name use oar color
// 監聽鍵盤通知 NotificationCenter.default.addObserver(self, selector: #selector(ComposeViewController.keyboardWillChangeFrame(note:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil)
//監聽鍵盤的事件 func keyboardWillChangeFrame(note: Notification) { print(note.userInfo ?? "") // 1.擷取動畫執行的時間 let duration = note.userInfo?[UIKeyboardAnimationDurationUserInfoKey] as! TimeInterval // 2.擷取鍵盤最終 Y值 let endFrame = (note.userInfo?[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue let y = endFrame.origin.y //計算工具列距離底部的間距 let margin = UIScreen.main.bounds.height - y print(margin) // 更新約束,執行動畫 toolBarBottom.snp.updateConstraints { (make) in make.left.equalTo(0) make.right.equalTo(0) make.height.equalTo(44) make.bottom.equalTo(-margin) } UIView.animate(withDuration: duration) { self.view.layoutIfNeeded() } }
swift 監聽鍵盤彈出的高度