inputAccessoryView卡在屏幕底部

时间:2019-06-01 18:23:31

标签: ios swift

我已经看过this solution。 我创建了一个示例项目来显示该错误。

该视图只有一个UITextField。

这是我的代码:

class ViewController: UIViewController {

    @IBOutlet weak var mm: UITextField!
    override func viewDidLoad() {
        super.viewDidLoad()
        let x = UIView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 40))
        x.backgroundColor = .red
        mm.inputAccessoryView = x
    }
}

当我在文本字段上点击时,会发生以下情况:->不管是否关闭键盘,红色视图都会显示在底部,并停留在该位置。 有什么帮助吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

您只是在切换键盘,而实际上并没有关闭键盘,而是尝试关闭键盘。

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        textField.delegate = self
        let view = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 40))
        view.backgroundColor = .red
        textField.inputAccessoryView = view
    }

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }
}

enter image description here