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) {

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。