-
-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QuickLook swipe down and less message motion when coming back from GiveBackMyFirstResponder #2482
base: main
Are you sure you want to change the base?
Conversation
hm, i am not sure i got the gist of this PR completely.
however, always good to have options, so thanks for diving into that. and as said, sorry, if i missed sth. |
it was late when i wrote this, idk why it had opacity = 0 on the view that would animate but it slipped through because it worked fine on iOS 16
TODO: on iOS 18 the keyboard is hidden after viewing a photo, can be fixed by a GiveBackMyFirstResponder extension for |
Scratch that, that opened a massive can of worms. On iOS 18 the keyboard is just hidden when you click on an image in chat and it does not come back automatically, this is a fine UX I think (and not changed by this PR). |
This PR makes the image preview (quicklook) able to be dismissed by swiping down, instead of the default popGestureRecognizer. This is an improvement because A; the popGesture is only enabled when the navigation bars are shown, B; it interferes with swiping to previous image, and C; the animation feels good.
For this to look good I had to reduce the motion on messages when presenting/dismissing view controllers some more. Now after a view is dismissed the scroll updating is delayed by 0.5s which means that first; the ChatViewController can become firstResponder (bringing up the accessory) and then; the text field can become firstResponder (bringing up the keyboard) without the chat scrolling.
Quick Look Dismiss
RPReplay_Final1736090240.mp4
RPReplay_Final1736090333.mp4
Reduced motion
RPReplay_Final1736090019.mp4
RPReplay_Final1736089664.mp4