Закрепите UIView вверху экрана, когда клавиатура сдвигается вверх - PullRequest
0 голосов
/ 05 мая 2020

У меня есть следующий макет UIView для простого чата слева, и я сдвигаю содержимое экрана вверх на размер клавиатуры, когда клавиатура появляется, как показано справа.

@objc func keyboardWillShow(_ notification: Notification) {
        if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {
            if self.view.frame.origin.y == 0 { self.view.frame.origin.y -= keyboardSize.height }
        }
    }

Я бы хотел закрепить верхнюю часть моего макета (т.е. профиль пользователя pi c, имя пользователя, индикатор onine / offline) на экране, чтобы он оставался в темпе и только UITableView сдвигается вверх на размер клавиатуры.

Как я могу этого добиться?

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете перемещать содержимое сообщения (вид снизу) и уменьшать высоту таблицы. Просматривать сумму, равную высоте клавиатуры.

Более подробно, вы ограничиваете содержимое сообщения и назначаете bottomConstraint, ограничение высоты вашего стола - heightConstraint. Когда отображается клавиатура, уменьшите bottomConstraint и heightConstraint на высоту клавиатуры; вернуться, когда клавиатура скрывается.

Надеюсь, это будет полезно.

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