Xamarin Forms Shell Hamburger 메뉴가 첫 번째 탐색시 iOS에 표시되지 않음

Aug 20 2020

햄버거 메뉴가있는 Xamarin Forms Shell 애플리케이션이 있습니다. 앱을 열었을 때 iPhone (그러나 Android에서는)에서 햄버거 메뉴를 볼 수 없습니다. 어딘가를 탐색하고 돌아 가면 예상대로 햄버거 아이콘이 나타납니다. 햄버거 메뉴를 처리하기 위해 앱 셸 템플릿의 기본 생성 코드를 사용하고 메뉴에 몇 가지 항목을 추가했습니다.

내 메뉴 아이콘을 항상 표시하도록 쉘에 어떻게 지시 할 수 있습니까?

프로젝트에 대한 Github 링크 : https://github.com/NPadrutt/MoneyFox.Windows/tree/mobile-redesign

답변

1 LucasZhang-MSFT Aug 20 2020 at 18:04

Custom Renderer에 의해 발생합니다.

에서 MoneyFox.iOS -> Renderer-> CustomContentPageRenderer .

        ToolbarList.Sort((i1, i2) =>
                         {
                             return i1.Priority > i2.Priority
                                    ? -1 : 1;
                         });

        foreach(ToolbarItem itm in ToolbarList)
        {
            if(itm.Priority < 0)
                LeftNavList.Add(itm.ToUIBarButtonItem());
            else
                RightNavList.Add(itm.ToUIBarButtonItem());
        }

        navigationItem.SetLeftBarButtonItems(LeftNavList.ToArray(), false);
        navigationItem.SetRightBarButtonItems(RightNavList.ToArray(), false);

위의 코드는 NavigationBar의 항목을 다시 정렬합니다. 문제가 발생합니다. 가장 쉬운 해결책은 렌더러를 사용하지 않는 것입니다. 명백한 효과가없는 것처럼 보이는 경우.

//[assembly: ExportRenderer(typeof(ContentPage), typeof(CustomContentPageRenderer))]