I have created a chat UI in which I have added a constraint
for the tableView
to the bottom of the screen. I am changing the constraint value by adding the height of the keyboard which is working fine in all the devices except iPhone X.
UI when key board is not visible:
Which is fine.
Problem is when keyboard appears blank space is visible in between the textView and the keyboard:
Do I have to try for a different approach for this or it can be resolved using constraints ?
Just go to Settings, then go to General, press Keyboard and you will see a part saying “Predictive”. Just turn that off and the grey bar will disappear.
Go to Settings > Accessibility > Keyboards, tap Full Keyboard Access, then turn on Full Keyboard Access.
1 Solution @Mikeyr305 It looks like you have settings -> Display -> Navigation bar -> Show button to hide keyboard enabled. If you turn that off, the keyboard will sit at the bottom of the screen.
Tap and hold on the emoji or globe icon on the keyboard. You will see three keyboard icons . Tap the left icon to shrink the keyboard to the left or the right icon to shrink the keyboard to the right. Tap the middle icon to return to the full-sized keyboard.
Try subtracting the height of the safe area's bottom inset when calculating the value for your constraint.
Here is a sample implementation which handles a UIKeyboardWillChangeFrame
notification.
@objc private func keyboardWillChange(_ notification: Notification) { guard let userInfo = (notification as Notification).userInfo, let value = userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue else { return } let newHeight: CGFloat if #available(iOS 11.0, *) { newHeight = value.cgRectValue.height - view.safeAreaInsets.bottom } else { newHeight = value.cgRectValue.height } myConstraint.value = newHeight }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With