Bug 31602 - not possible to programmatically open master page after iPad landscape -> portrait rotation
Summary: not possible to programmatically open master page after iPad landscape -> por...
Status: VERIFIED FIXED
Alias: None
Product: Forms
Classification: Xamarin
Component: iOS (show other bugs)
Version: 1.4.3
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: Rui Marinho
URL:
Depends on:
Blocks:
 
Reported: 2015-07-02 19:32 UTC by Gabor Furedi
Modified: 2015-08-07 04:52 UTC (History)
6 users (show)

Tags: ac
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
VERIFIED FIXED

Description Gabor Furedi 2015-07-02 19:32:20 UTC
Check the sample project: https://www.dropbox.com/s/05ei9td117efo1m/sidemenubug.zip?dl=0

The bug is for iPad. 

1. Start in portrait mode. You can close the sidemenu and then reopen it properly with the "Sidemenu Opener" button.
2. Rotate to landscape
3. Rotate back to portrait
BUG 1: ugly grey artifact on screen during rotation animation (Re: https://bugzilla.xamarin.com/show_bug.cgi?id=28351. It shows as resolved, but you can see it is not!)
BUG 2: it's not possible to open the master page anymore (current bugreport)

I've tried with twoway binding as well from within the XAML (you can see there's a command for it in the VM). I've also tried simply setting the masterdetailpage's master property's ispresented flag to true. Doesn't work anymore.

(Swipe gestures are disabled. In my app, I cannot use swipes as it collides with the presented mapview's swipe detection).
Comment 1 Michael Rumpler 2015-07-03 05:32:06 UTC
May be related to https://bugzilla.xamarin.com/show_bug.cgi?id=30353. Both bugs happen when you rotate a device with a MasterDetailPage.
Fixing them together should be less effort.
Comment 2 Gabor Furedi 2015-07-03 05:39:01 UTC
I agree, the root cause will probably be the same for both.
Comment 3 Gabor Furedi 2015-07-03 07:43:22 UTC
I've managed to do an ugly hack. If I re-enable IsGestureEnabled after going back to portrait mode, then open the sidemenu once with a gesture I disable IsGestureEnabled again. After that, setting IsPresented via any method starts working again! :)
Comment 4 Rui Marinho 2015-07-13 07:41:17 UTC
Hi Gabor, when you are running on the iPad using the default settings of MasterDetailPage, and in Landscape mode, you can't google IsPresented, this is a design decision since the initial Forms version where he represent MDP as a SplitViewController on landscape.

That said, we introduced a way to be able to change this behaviour a little bit using , MasterBehavior property,

If you sent in your MasterPage

MasterBehavior  = MasterBehavior.Popover;

Then you will be able to toggle the master on and off the page, but will not work as a split view but as a PopOver (like when we are in Portrait mode).

About the grey artifact on rotation, i will reopen the bug.

Can you please confirm if this helps you? 

Thanks.
Comment 5 Gabor Furedi 2015-07-13 08:49:41 UTC
Hi Rui,

What do you mean exactly by "you can't google IsPresented"?

In landscape mode, I'm not really bothering with IsPresented, I'm fine with the default functionality whereas the sidemenu is always visible, that's fine! i only want to be able to show / hide the sidemenu in portrait mode.

The problem is, if you start the app in portrait, then go to landscape, then rotate back to portrait again -> you can't open the sidemenu anymore with the IsPresented flag (in portrait mode!)
Comment 6 Rui Marinho 2015-07-13 12:53:29 UTC
Sorry, i wanted to say toggle, yes i understand the bug , we are fixing that.
Comment 7 Gabor Furedi 2015-07-13 13:00:43 UTC
great, thanks!
Comment 8 Jason Smith [MSFT] 2015-08-05 15:04:27 UTC
Should be fixed in 1.5.0-pre1
Comment 9 Parmendra Kumar 2015-08-07 04:52:49 UTC
I have checked this issue with X.F 1.5.0-pre1 and its working fine at my end.

http://www.screencast.com/t/xyhDywfQ20


Hence closing this issue.