Черный цвет появляется при перемещении источника вверх при появлении клавиатуры - PullRequest
0 голосов
/ 15 апреля 2019

Я перемещаю начало self.view на -minY текстового поля, когда клавиатура показывает, чтобы текстовое поле отображалось в верхней части экрана.Но если текстовое поле находится рядом с нижней частью, нижняя часть рамки становится черного цвета.Я нажал на первое текстовое поле в прикрепленном изображении, которое перемещает его в начало.Есть ли способ переместить вид без отображения черного цвета?

Иерархия видов:

+ UIViewController
  + UIView
    + UIScrollView
      + UIView
        - UITextField
        - UITextField
        - UITextField
self.view.frame.origin.y = -(tagsTextField.frame.minY)

screenshot

Ответы [ 3 ]

0 голосов
/ 15 апреля 2019

Я исправил это, установив смещение прокрутки содержимого при нажатии на текстовое поле.

scrollView.setContentOffset(CGPoint(x: 0, y: tagsTextField.frame.minY), animated: true)

И сброс на клавиатуре отклонить.

scrollView.setContentOffset(CGPoint(x: 0.0, y: 0.0), animated: true)
0 голосов
/ 15 апреля 2019

Вы можете переместить рамку вверх, когда рамка клавиатуры скрывает ваше текстовое поле на высоту клавиатуры:

override func keyboardWillBeShown(note: Notification) {
    let userInfo = note.userInfo
    let keyboardFrame = userInfo?[UIKeyboardFrameEndUserInfoKey] as! CGRect
    if keyboardFrame.intersects(activeTextField.frame) {
        UIView.animate(withDuration: 0.2) {
            self.view.frame.origin.y = -keyboardFrame.height
        }
    }
}

override func keyboardWillBeHidden(note: Notification) {
    UIView.animate(withDuration: 0.2) {
        self.view.frame.origin.y = 0
    }
}
0 голосов
/ 15 апреля 2019

Вы можете установить цвет фона встраиваемого представления (возможно, вашего контроллера навигации) в тот же цвет, что и цвет фона вашего представления.

Что я обычно делаю на экране формы, я помещаю свои поля ввода в UITableView.Затем вместо того, чтобы перемещать вид вверх, чтобы сделать видимым текущее поле ввода, я прокручиваю UITableView.

Таким образом, фоновый вид / цвет UITableView не перемещается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...