Skip to content
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

Flyout Page: iOS version doesn't have a native hamburger icon for the flout menu #15258

Open
kubaflo opened this issue May 25, 2023 · 6 comments
Labels
area-controls-flyoutpage FlyoutPage platform/iOS 🍎 s/triaged Issue has been reviewed s/verified Verified / Reproducible Issue ready for Engineering Triage t/bug Something isn't working
Milestone

Comments

@kubaflo
Copy link
Collaborator

kubaflo commented May 25, 2023

Description

Expected Behavior:
The application should display a hamburger icon as the button to open the flyout menu.

Current Behavior:
The application does not generate a hamburger icon. Instead, the Title property of a component, possibly a button or a text element, is being used as the button to open the flyout menu.

Steps to Reproduce

  1. Launch the iOS application.
  2. Navigate to the screen or view where the flyout menu should be accessible.
  3. Look for a hamburger icon in the navigation bar or any other expected location.
  4. Observe that no hamburger icon is displayed.
  5. Instead, identify if there is a Title property associated with a component.
  6. Interact with the Title property and observe if it opens the flyout menu.

Link to public reproduction project repository

https://github.com/dotnet/maui-samples/tree/main/7.0/Navigation/FlyoutPageSample

Version with bug

8.0.49

Last version that worked well

Unknown/Other

Affected platforms

iOS

Affected platform versions

iOS 16

Did you find any workaround?

Set a custom icon for IconImageSource property of the FlyoutPage

Relevant log output

No response

@kubaflo kubaflo added the t/bug Something isn't working label May 25, 2023
kubaflo added a commit to kubaflo/DG that referenced this issue May 25, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Worksround for dotnet/maui#15258
kubaflo added a commit to kubaflo/DG that referenced this issue May 25, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
kubaflo added a commit to kubaflo/DG that referenced this issue May 28, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
@drasticactions
Copy link
Contributor

I don't believe this is a bug. This is the default behavior for Flyout view, as it was in Xamarin.Forms.

There is no "default" hamburger menu icon for iOS. It's not a native iOS component. There is a "hamburger menu" that appears within Shell, but that is an included image within Forms/MAUI. (Although this is shown under Compatability, I'm unsure if a newer implementation is pointing to something else). So, the default behavior for iOS/Catalyst with this control would be to show the title text of the button. This is the same behavior as it was on Xamarin.Forms, so everything is intact from it.

You can override that with your own icon image, as you've seen and is documented.

@PureWeen What do you think? Is there anything that we could do here? Am I missing any context?

parhamsaremi added a commit to parhamsaremi/docs-maui that referenced this issue May 29, 2023
By default, iOS doesn't have hamburger icon and uses title text
of the button [1].

Closes dotnet/maui#15258

[1] dotnet/maui#15258 (comment)
parhamsaremi added a commit to parhamsaremi/docs-maui that referenced this issue May 29, 2023
By default, iOS doesn't have hamburger icon and uses title text
of the button [1].

Closes dotnet/maui#15258

[1] dotnet/maui#15258 (comment)
parhamsaremi added a commit to parhamsaremi/docs-maui that referenced this issue May 29, 2023
By default, iOS doesn't have hamburger icon and uses title text
of the button [1].

Closes dotnet/maui#15258

[1] dotnet/maui#15258 (comment)
kubaflo added a commit to kubaflo/DG that referenced this issue May 29, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
parhamsaremi added a commit to parhamsaremi/docs-maui that referenced this issue May 30, 2023
By default, iOS doesn't have hamburger icon and uses title text
of the button [1].

Closes dotnet/maui#15258

[1] dotnet/maui#15258 (comment)
kubaflo added a commit to kubaflo/DG that referenced this issue May 30, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
kubaflo added a commit to kubaflo/DG that referenced this issue May 31, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
kubaflo added a commit to kubaflo/DG that referenced this issue May 31, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
kubaflo added a commit to kubaflo/DG that referenced this issue May 31, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
kubaflo added a commit to kubaflo/DG that referenced this issue Jun 1, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
kubaflo added a commit to kubaflo/DG that referenced this issue Jun 1, 2023
iOS version utilizes the title property of Flyout page
as a 'hamburger icon'. Therefore, a png file for iOS
version has been added.

Workaround for dotnet/maui#15258

The icon that is set for Flyout page is not
applicable to android version of the app
because of this bug:

dotnet/maui#15211
@Eilon Eilon added the area-controls-flyoutpage FlyoutPage label Jun 26, 2023
@BioTurboNick

This comment was marked as outdated.

@BioTurboNick
Copy link
Contributor

BioTurboNick commented Jul 18, 2023

Actually, did something change in a recent iOS version or phone layout? Because when I run my app on my iPhone SE (iOS 15.7), it has a hamburger icon. But my app is now being rejected by the Apple Store because it's missing (with screenshots), so users have no way to know there's functionality in the menu.

Nevermind - something changed with how colors are used, which was actually hiding the icon.

@Zhanglirong-Winnie Zhanglirong-Winnie added s/verified Verified / Reproducible Issue ready for Engineering Triage s/triaged Issue has been reviewed labels Jan 2, 2024
@Zhanglirong-Winnie
Copy link
Collaborator

Verified this issue with Visual Studio Enterprise 17.9.0 Preview 2. Can repro on iOS platform with sample project.
https://github.com/dotnet/maui-samples/tree/main/7.0/Navigation/FlyoutPageSample

@kubaflo
Copy link
Collaborator Author

kubaflo commented Jan 14, 2024

@drasticactions what do you think about adding a new property to FlyoutPage eg. HasHabmurgerIcon that would draw the same hamburger icon as shell page when this property is set to true and FlyoutPage has no icon set?

@Thaldoras
Copy link

When I add a custom hamburger icon for iOS using IconImageSource.
The image gets stretched and does not take up the same space as the back button on iOS.
On Android it works perfectly. The burger icon gets changed to the back icon as you navigate and they are the same size.

Also suffers from the color of the icon being changed. e.g. you use a png icon with green colour and then it turns to gray or whatever default color is set somewhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-controls-flyoutpage FlyoutPage platform/iOS 🍎 s/triaged Issue has been reviewed s/verified Verified / Reproducible Issue ready for Engineering Triage t/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants