首页 > 解决方案 > 键盘上方的视图不显示

问题描述

当显示键盘时,我希望在我的键盘上方有一个带有 textField 的视图和一个发送按钮。但这不起作用。

我已经在我的代码中实现了这一点:

override func viewDidLoad() {
        super.viewDidLoad()
        tableView.dataSource = self
        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_ :)), name: UIResponder.keyboardWillHideNotification, object: nil)
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        tabBarController?.tabBar.isHidden = true
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        tabBarController?.tabBar.isHidden = false

    }

    // MARK: - Keyboard stuff
    @objc func keyboardWillShow(_ notification: NSNotification) {
        let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as AnyObject).cgRectValue   
        print("hier ist \(keyboardFrame!)")
        UIView.animate(withDuration: 0.1) {
            self.bottomConstraint.constant = keyboardFrame!.height     
            self.view.layoutIfNeeded()
        }
    }

    @objc func keyboardWillHide(_ notification: NSNotification) {
        UIView.animate(withDuration: 0.1) {
            self.bottomConstraint.constant = 0
            self.view.layoutIfNeeded()
        }
    }

标签: swiftiphonexcode

解决方案


查看 textField inputAccessoryView。这里有一个教程解释了你想要做什么。


推荐阅读