Не всегда можно установить панель инструментов внизу - PullRequest
0 голосов
/ 15 мая 2019

Я добавил панель инструментов на свою раскадровку и также установил ее выход. Теперь, когда я подхожу к своему виду с помощью панели инструментов, в viewDidLoad этого вида я написал это ...

postToolBar.removeFromSuperview()
contributeTextView.inputAccessoryView = postToolBar

Из-за этого, когда я подхожу к представлению и нажимаю на текстовое представление, которое у меня там называется contributeTextView, на клавиатуре появляется панель инструментов, закрепленная сверху, вот так ..

enter image description here

Теперь, когда я нажимаю за пределами просмотра текста, клавиатура отключается, как и панель инструментов с ней. Как мне всегда закрепить панель инструментов в самом низу ..? Панель инструментов также должна быть с клавиатурой, а когда клавиатура опускается, она должна быть зафиксирована внизу. Как мне этого добиться? ..

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

вы можете наблюдать уведомление клавиатуры, например:

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
        }
  }

это должно бытьработа

0 голосов
/ 15 мая 2019

Примените этот трюк: - Добавьте две панели инструментов, одну как inputAccessoryView, как вы делаете сейчас, а другую добавьте в нижней части окна контроллера.Надеюсь, что это поможет.

...