rotorgames / Rg.Plugins.Popup

Xamarin Forms popup plugin
MIT License
1.15k stars 336 forks source link

Forward "rotation" methods directly to renderer #755

Closed jaredballen closed 6 months ago

jaredballen commented 1 year ago

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)

This PR refactors the iOS PopupPlatformRendreer to forward all "rotation" method to the renderer. This is what was already bing done for the PreferredStatusBarStyle and ChildViewControllerForStatusBarHidden methods. Before PopupPlatformRendreer was proxying to the first child view controller. This was ineffective and the renderer is never set as a child view controller.

:arrow_heading_down: What is the current behavior?

Currently, if the PopupPageRenderer is inherited from and the "rotation" methods are overloaded, they are never called and it is impossible to tailer the supported orientations.

:new: What is the new behavior (if this is a feature change)?

The new behavior allows the "rotation" methods to be called when overloaded.

:boom: Does this PR introduce a breaking change?

No breaking charges are know to have been introduced.

:bug: Recommendations for testing

Register and new renderer that inherits from PopupPageRenderer and overload the "rotation" methods. Choose whatever orientation mask you prefer. Run the sample and verify that orientation of the popup matches the mask when the device/simulator is rotated.