Bug 28378 - [iOS] Navigation.PushAsync not working from pages in the "More" tab of a TabbedPage
Summary: [iOS] Navigation.PushAsync not working from pages in the "More" tab of a Tabb...
Status: RESOLVED NOT_ON_ROADMAP
Alias: None
Product: Forms
Classification: Xamarin
Component: Forms ()
Version: 1.4.1
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-03-24 14:14 UTC by Jon Goldberger [MSFT]
Modified: 2017-02-03 02:48 UTC (History)
6 users (show)

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


Attachments
Test Project (5.30 MB, application/zip)
2015-03-24 14:14 UTC, Jon Goldberger [MSFT]
Details


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:
RESOLVED NOT_ON_ROADMAP

Description Jon Goldberger [MSFT] 2015-03-24 14:14:34 UTC
Created attachment 10473 [details]
Test Project

## Description

With a TabbedPage as the main page, and having enough child pages of the TabbedPage so there is a "More" tab, trying to push a new page using Navigation.PushAsync from a Page that was in the "More" tab does not work. This is only when each child page of the TabbedPage is wrapped in a NavigationPage. In the sample, the TabbedPage is also wrapped in a NavigationPage. Removing the NavigationPage wrapper for the child pages does resolve this issue, but then the Navigation bar, if shown, does not show the title of the child pages and then also an extra Navigation bar is shown when the "More" tab is selected. If the Navigation bar for the TabbedPage is not shown, using NavigationPage.SetHasNavigationBar(this, false), then there is no Navigation bar until a child page pushes a new page. 

## Steps to reproduce:

1. Load attached test project and run to an iOS simulator or device.

2. Tap the "More" tab.

3. Select one of the pages in the "More" tab.

4. Tap the "Next Page" button.

Expected result: A new page will be displayed.

Actual result: a new page is not displayed.

## Notes

I tested this with Xamarin Forms 1.4.1-Pre1 and 1.4.1-Pre2.

As noted above, removing the NavigationPage wrapping from the child pages resolves this issue. You can test this by commenting out the AddChildPage method in MainPage.cs and uncommenting the alternate version that has the comment above it "Without NavigationPage wrapping the child pages". Try the same steps as above and the new page will be displayed from a "More" page when the "Next Page" button is clicked. However then there is no Navigation bar until a "Next Page" button is clicked or the "More" tab is selected. You can show the Navigation bar always by also commenting out:
NavigationPage.SetHasNavigationBar(this, false);
in MainPage.cs. But then the title in the navigation bar does not reflect the title of the child page, and also an extra Navigation bar is displayed when the "More" Tab is selected.
Comment 2 Rajneesh Kumar 2015-03-24 15:16:18 UTC
I tried to reproduce this but I am not able to deploy the application on Device/Simulator. On deploying the sample application provided in bug description, I am getting following exception:

"Exception of type 'Foundation.You_Should_Not_Call_base_In_This_Method' was thrown."

Please refer the screencast: http://www.screencast.com/t/AecSmPRNVrUh

So could you please provide sample application again, that is working fine, so I will able to reproduce this issue at our end. 

Thanks.

Ide Logs: https://gist.github.com/Rajneesh360Logica/0c1e638c0b00a4dbabe7
Application Output: https://gist.github.com/Rajneesh360Logica/5db46f22981458c452b6
Build Output: https://gist.github.com/Rajneesh360Logica/8187011d838409ab0af4

Environment Info:

=== Xamarin Studio ===

Version 5.9 (build 296)
Installation UUID: 011d70a5-dede-428b-ab04-ef451c2e539d
Runtime:
	Mono 4.0.0 ((detached/c52336f)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 400000093

=== Apple Developer Tools ===

Xcode 6.2 (6776)
Build 6C131e

=== Xamarin.iOS ===

Version: 8.10.0.149 (Business Edition)
Hash: 012108b
Branch: master
Build date: 2015-03-24 03:03:50-0400

=== Xamarin.Android ===

Version: 4.20.0.37 (Business Edition)
Android SDK: /Users/MM/Desktop/android-sdk-macosx
	Supported Android versions:
		2.1    (API level 7)
		2.2    (API level 8)
		2.3    (API level 10)
		3.1    (API level 12)
		4.0    (API level 14)
		4.0.3  (API level 15)
		4.1    (API level 16)
		4.2    (API level 17)
		4.3    (API level 18)
		4.4    (API level 19)
		4.4.87 (API level 20)
		5.0    (API level 21)
Java SDK: /usr
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

=== Xamarin Android Player ===

Version: Unknown version
Location: /Applications/Xamarin Android Player.app

=== Xamarin.Mac ===

Version: 2.0.0.149 (Business Edition)

=== Build Information ===

Release ID: 509000296
Git revision: 7a9ca2a858ef1fac4ef8cab9e46cd3d9ac1cf870
Build date: 2015-03-23 16:59:44-04
Xamarin addins: fad66559ea5a308dacec9e5fdd1578c909d97688

=== Operating System ===

Mac OS X 10.9.5
Darwin MacMini.local 13.4.0 Darwin Kernel Version 13.4.0
    Sun Aug 17 19:50:11 PDT 2014
    root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64
Comment 3 Jon Goldberger [MSFT] 2015-03-24 15:51:32 UTC
I just downloaded the test project and it built and deployed on my end, so I do not know why you are getting that exception on your end. I was running Xamarin.iOS 8.8, but I see you are on 8.10, which is not in Alpha yet as far as I can see.  

 Here is my version info for Xamarin Studio:

=== Xamarin Studio ===

Version 5.8 (build 443)
Installation UUID: 2dc9022f-f9a8-424f-8284-bf224cbbfde0
Runtime:
Mono 3.12.1 ((detached/b7764aa)
GTK+ 2.24.23 (Raleigh theme)

Package version: 312010000

=== Apple Developer Tools ===

Xcode 6.2 (6776)
Build 6C131e

=== Xamarin.Mac ===

Version: 1.12.0.14 (Business Edition)

=== Xamarin.Android ===

Version: 4.20.0.37 (Business Edition)
Android SDK: /Users/apple/Library/Developer/Xamarin/android-sdk-mac_x86
Supported Android versions:
2.2    (API level 8)
2.3    (API level 10)
3.1    (API level 12)
4.0    (API level 14)
4.0.3  (API level 15)
4.1    (API level 16)
4.2    (API level 17)
4.3    (API level 18)
4.4    (API level 19)
4.4.87 (API level 20)
5.0    (API level 21)
Java SDK: /usr
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)

=== Xamarin Android Player ===

Version: Unknown version
Location: /Applications/Xamarin Android Player.app

=== Xamarin.iOS ===

Version: 8.8.0.2 (Business Edition)
Hash: ccfcd59
Branch: 
Build date: 2015-03-10 02:20:32-0400

=== Build Information ===

Release ID: 508000443
Git revision: 73883239470cbe8e261c94d95f7c3d0452fd393b
Build date: 2015-03-10 07:22:51-04
Xamarin addins: a2ff7b617f09d9c45d8bbf3d010b5db0d7d36100

=== Operating System ===

Mac OS X 10.10.2
Darwin Jons-iMac.local 14.1.0 Darwin Kernel Version 14.1.0
    Thu Feb 26 19:26:47 PST 2015
    root:xnu-2782.10.73~1/RELEASE_X86_64 x86_64
Comment 4 Rajneesh Kumar 2015-03-25 13:24:14 UTC
@ Jon, Thanks a lot.

I have checked this issue and now I am able to reproduce this issue. To reproduce this issue I have followed the steps and instruction provided in bug description.
While following the steps when I click on "Next Page" button, I observed that a new page is not displayed. Please refer the screencast for the same.

Screencast: http://www.screencast.com/t/j2dmd9tvJM
Build Output: https://gist.github.com/Rajneesh360Logica/02c83ada5fcd1e736389
Ide Logs: https://gist.github.com/Rajneesh360Logica/3e3427aaea21be6882bd

Environment Info:

Xamarin.Forms Version: 1.4.1.6347-pre2

=== Xamarin Studio ===

Version 5.8 (build 443)
Installation UUID: 011d70a5-dede-428b-ab04-ef451c2e539d
Runtime:
	Mono 3.12.1 ((detached/b7764aa)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 312010000

=== Apple Developer Tools ===

Xcode 6.2 (6776)
Build 6C131e

=== Xamarin.iOS ===

Version: 8.8.0.2 (Business Edition)
Hash: ccfcd59
Branch: 
Build date: 2015-03-10 02:20:32-0400

=== Xamarin.Android ===

Version: 4.20.0.37 (Business Edition)
Android SDK: /Users/MM/Desktop/android-sdk-macosx
	Supported Android versions:
		2.1    (API level 7)
		2.2    (API level 8)
		2.3    (API level 10)
		3.1    (API level 12)
		4.0    (API level 14)
		4.0.3  (API level 15)
		4.1    (API level 16)
		4.2    (API level 17)
		4.3    (API level 18)
		4.4    (API level 19)
		4.4.87 (API level 20)
		5.0    (API level 21)
Java SDK: /usr
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

=== Xamarin Android Player ===

Version: Unknown version
Location: /Applications/Xamarin Android Player.app

=== Xamarin.Mac ===

Version: 1.12.0.14 (Business Edition)

=== Build Information ===

Release ID: 508000443
Git revision: 73883239470cbe8e261c94d95f7c3d0452fd393b
Build date: 2015-03-10 07:22:51-04
Xamarin addins: a2ff7b617f09d9c45d8bbf3d010b5db0d7d36100

=== Operating System ===

Mac OS X 10.9.5
Darwin MacMini.local 13.4.0 Darwin Kernel Version 13.4.0
    Sun Aug 17 19:50:11 PDT 2014
    root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64
Comment 5 Jason Smith [MSFT] 2015-03-26 17:42:49 UTC
This is a known issue and currently not supported.
Comment 6 fiyahuluw 2017-02-03 02:48:44 UTC
Having this same issue. Seems quite obscure that this is simply "not supported" as this was the mechanism recommended by Xamarin.