Swift-键盘适配

解决键盘弹起网页自动上移问题,实现viewForZooming代理

class ViewController: UIScrollViewDelegate {

}

self.scrollview.delegate = self;

// 如果return nil会出现键盘背景透明问题
extension ViewController { 
    func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return UIView()
    }
}

监听键盘事件

        NotificationCenter.default.rac_addObserver(forName: UIResponder.keyboardWillShowNotification.rawValue, object: nil).subscribeNext { [weak self] x in
            self?.keyboardWillChangeFrame(x! as Notification)
        }
        
        NotificationCenter.default.rac_addObserver(forName: UIResponder.keyboardWillHideNotification.rawValue, object: nil).subscribeNext { [weak self] x in
            self?.keyboardDidHide(x! as Notification)
        }

extension ViewController {
    
    /// 键盘弹出
    @objc func keyboardWillChangeFrame(_ notification: Notification) {
        let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue

    }
    
    /// 键盘收回
    @objc func keyboardDidHide(_ notification: Notification) {

}

你可能感兴趣的:(Swift-键盘适配)