Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 键盘停止显示UIToolbar_Ios_Swift_Uitextview_Uitoolbar - Fatal编程技术网

Ios 键盘停止显示UIToolbar

Ios 键盘停止显示UIToolbar,ios,swift,uitextview,uitoolbar,Ios,Swift,Uitextview,Uitoolbar,我的视图中有一个UITextView,按下键盘工具栏上的“完成”按钮可以关闭键盘。此按钮还对文本执行保存操作。在我的应用程序的最新版本发布之前,整个程序一直运行良好。我不知道发生了什么事。我怀疑问题在于将我的应用向后兼容到iOS 11.0版。但后来我又尝试了更高的发展目标,结果是一样的。在构建最新更新时,我没有触及此视图的代码,因此我不确定是什么导致了问题。我的代码的相关部分: let textView: UITextView = { let tw = UITextView()

我的视图中有一个UITextView,按下键盘工具栏上的“完成”按钮可以关闭键盘。此按钮还对文本执行保存操作。在我的应用程序的最新版本发布之前,整个程序一直运行良好。我不知道发生了什么事。我怀疑问题在于将我的应用向后兼容到iOS 11.0版。但后来我又尝试了更高的发展目标,结果是一样的。在构建最新更新时,我没有触及此视图的代码,因此我不确定是什么导致了问题。我的代码的相关部分:

let textView: UITextView = {
    let tw = UITextView()
    tw.font = Font.kohinoorTeluguMedium_20
    tw.returnKeyType = .default
    tw.isScrollEnabled = true
    tw.keyboardDismissMode = .interactive
    tw.translatesAutoresizingMaskIntoConstraints = false
    return tw
  }()


fileprivate func setupKeyboardToolbar() {
    let keyboardToolBar = UIToolbar(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
      keyboardToolBar.translatesAutoresizingMaskIntoConstraints = false
        keyboardToolBar.sizeToFit()

        let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(handleDoneButton))
    keyboardToolBar.items = [doneButton]
    self.textView.inputAccessoryView = keyboardToolBar
       textView.delegate = self  
//        self.textView.autoresizingMask = .flexibleHeight
    keyboardToolBar.layoutIfNeeded()
    keyboardToolBar.isHidden = false
}

override func viewDidLoad() {
    super.viewDidLoad()

    setupKeyboardToolbar()

    tableView.register(DetailCell.self, forCellReuseIdentifier: cellId)
    tableView.backgroundColor = AdaptiveColors.tableViewBackgroundColor
    tableView.separatorColor = AdaptiveColors.tableViewBackgroundColor
    setupDismissButton()

    let editButton = UIBarButtonItem(title: LocalizedString.edit, style: .plain, target: self, action: #selector(handleEdit))
    editButton.tintColor = .white
    navigationItem.rightBarButtonItem = editButton

}
 @objc func handleDoneButton() {
    let context = CoreDataManager.shared.persistentContainer.viewContext
    lesson?.notes = textView.text
    do {
        try context.save()
    } catch let savErr {
        print("Error saving context \(savErr)")
    }
    textView.resignFirstResponder()
}

func textViewDidChange(_ textView: UITextView) {
    tableView.beginUpdates()
    tableView.endUpdates()
}

func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
return true
}
}
阅读相关stackOverflow答案后,我尝试调用
键盘工具栏上的
layoutifneed()
ishiden=false
,但没有成功。还尝试设置了
self.textView.autoResizingMask=.flexibleHeight
,但没有成功。还尝试将
keyboardToolbar
的委托设置为
self
,并将self声明为
UIToolbarDelegate

谢谢任何人的帮助

好吧,我已经修好了,这是一个愚蠢的错误,我在某个时候忽略了。 我在自动布局方面遇到了一些问题,所以我将这个textView对象移动到我的自定义单元格类,而不是视图控制器。然后,我在VC的indexPath方法中与cellForRow中的textView交谈,但我忘记在cell类中设置工具栏。我仍然在视图控制器中设置了textView和工具栏。 我已经解决了这个问题,通过移动自定义单元格类中的设置,然后在自定义单元格和vc之间创建一个委托模式,以使注释保存成为可能