无法始终将工具栏设置在底部

时间:2019-05-15 08:43:27

标签: ios swift toolbar

我在情节提要板上添加了一个工具栏,还设置了它的出口。现在,当我使用工具栏进入视图时,在该视图的viewDidLoad中,我已经写了这个……

postToolBar.removeFromSuperview()
contributeTextView.inputAccessoryView = postToolBar

因此,当我进入该视图并点击我在此处命名为contributeTextView的文本视图时,键盘就将工具栏固定在顶部,就像这样。

enter image description here

现在,当我在textview之外点击时,键盘会下降,而工具栏也会随之下降。如何始终将工具栏固定在底部?工具栏也应随键盘一起提供,当键盘下降时,它仍应固定在底部。我该如何实现呢??

2 个答案:

答案 0 :(得分:0)

应用此技巧:-现在添加两个工具栏,一个作为inputAccessoryView,另一个添加到控制器视图的底部。希望有帮助。

答案 1 :(得分:0)

您可以观察键盘通知,例如:

NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChangeFrame(notification:)), name: UIResponder.keyboardWillChangeFrameNotification, object: nil)

然后在选择器中,更改与键盘相关的工具栏框架,例如:

@objc private func keyboardWillChangeFrame(notification: Notification) {
        if let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {
              var frame = toolBar.frame
              frame.origin.y = keyboardFrame.origin.y - frame.size.height
              toolBar.frame = frame
        }
  }

这应该可行