iOS13 UIActivityViewController transition behavior

Recently I used UIActivityViewController and noticed that it has been changed for iOS13. Now this VC presenting on half of the screen and user be able to open it more or close. It's looking interesting and I tried to reproduce such behavior for regular VC.
At first, I thought there is some customization under new iOS13 modal style but looking into documentation/googling did not help.
After that I tried to implement UIViewControllerAnimatedTransitioning protocol + UIViewPropertyAnimator. It's working, but the result does not look completely like native UIActivityViewController. It's working very poor - for example, I'm unable to control smooth status bar transition. Or if I need to present another modal VC - seems like I need to reimplement native page sheet animation behavior.

So I have a question. Is it possible to duplicate UIActivityViewController animation flow (with dragging for open more/closing, smooth status bar transition etc) using public UIKit API? Maybe I missed something?


Thanks in advance.

Replies

have a look here on how to present part screen AND keep user interaction (which I understand is your issue).


Quote:

If you want to present a view controller over half a screen I suggest using the

UIPresentationController
class it will allow you to set the frame of the view controller when it is presented. A word of advice, this method will stop the user interaction of the
presentingViewController
until you dismiss the
presentedViewController
, so if you want to show the view controller over half the screen while retaining user interaction with the
presentingViewController
you should use container views like the other answers suggested. This is an example of a UIPresentationController class that does what you want


https://stackoverflow.com/questions/42106980/how-to-present-a-viewcontroller-on-half-screen

Hello Claude31, thank you for the response.
I tried your suggested approach and unfortunately it doesn't work. The problem: when I begin to use custom UIPresentationController - seems like it automatically use 'UIModalPresentationCustom' presentation style. (Even if I just create empty subclass of UIPresentationController without any overriding).

Basically it working for cases when you need just show fullscreen (or half part) of VC and close it programmatically (If for example you don't want to implement all UIViewControllerAnimatedTransitioning methods). But it's not my case.





Has anyone been able to figure this out?
you can use like this, here is my repo:

[https://github.com/SomuYadav/HalfViewControllerTransition]

you can use like this, here is my repo:
[https://github.com/SomuYadav/HalfViewControllerTransition]


Good day Somendra_Yadav, thanks for your answer, but I'm afraid your approach a bit tricky and can be rejected on app review.