2014-07-24 4 views
19

앱의 첫 페이지가 로그인 페이지이고 메인 메뉴 화면으로 돌아 가면 다시 버튼을 없앨 수있는 방법이 있습니까? 메인 메뉴 네비게이션 바, 로그인 페이지 스택을 없애는 것 같은가요? Xamarin Forms - 네비게이션 바에서 뒤로 버튼 제거하기

당신이 당신의 로그인 페이지의 코드에서 Navigation.PushModalAsync(page)Navigation.PushAsync(page)를 교체 할 경우

+0

로그인 페이지의 코드를 표시 할 수 있습니까? –

답변

9

뒤로 버튼을 것을 방지 할 수 있습니다 감사합니다. 어떤 식 으로든이 코드가 적용되지 않으면 게시하십시오

이것은 기본 OS (적어도 iOS의 경우)에서 탐색이 작동하는 방식과 관련이 있습니다. - 페이지가 서로 전환되도록하는 탐색 컨트롤러가 있습니다. 사용자가 이전 화면으로 돌아갈 수 있도록 이전 화면의 흔적이 있습니다.

+1

내비게이션 막대에서 툴팁을 유지하고 싶다면 어떻게해야합니까? – user3841879

+1

탐색 항목이 아닌 페이지에 대해 도구 모음 항목을 정의해야합니다. –

4

다시 버튼을 제거하는 2 가지 방법이 있습니다 :
1) 당신은 XAML에서 탐색 모음을 제거 할 수 있습니다 Xamarin.Forms를 사용하여 코드 아래 사용이

NavigationPage.SetHasNavigationBar (this, false); 

경우 현재 페이지/양식 인스턴스에 대한 this 의미합니다.

2)에 따라 아래에 언급 된 단계

    이동이 응용 프로그램은 로그인 페이지에서 메인 페이지에 로그인 페이지
  • 이동의 정상 ContentPage 인스턴스를로드 할 때 PushModalAsync를 사용하여 페이지를 로그인 메인 페이지 인스턴스를 제공하기 위해
  • as NavigationPage
  • 다른 모든 페이지에서 PushAsync를 사용할 수 있으며 오류없이 모든 페이지를 탐색 할 수 있습니다.

희망이 있습니다.

인 CustomRenderer를 사용하여
2

, 당신은 당신이 추가 할 수 있습니다 Xamarin.Forms 1.3 이상을에서

public override void ViewWillAppear (bool animated) 
{ 
    base.ViewWillAppear (animated); 
    this.ParentViewController.NavigationItem.SetHidesBackButton (true, false); 
    //remember to use ParentViewController to reference to the NavigationViewController (if your contentPage is direct under a navigation controller. I don't know why but Xamarin must have a bug with SetHidesBackButton. If you call with this.NavigationItem.SetHidesBackButton(...), it should not work. 
    ... other implements here ... 
} 
41

당신이 Xaml에서

NavigationPage.SetHasBackButton(this, false); 

를 사용할 수있는 사용자 정의 뷰 컨트롤러에 ViewWillAppear에서이 함수를 호출 :

<ContentPage ....NameSpaces etc.... 
    NavigationPage.HasBackButton="False" 
    Title="MyPage"> 
</ContentPage> 
+1

잘 작동합니다 ... 그런데 XAML에서 가능합니까? 그냥 호기심 .. –

+1

@shakin_hand_incision 'XAML'방법을 포함하도록 내 대답 업데이트 – user1

+0

이것은 여전히 ​​뒤로 버튼과 관련된 공간을 렌더링하는 것처럼 보입니다. 이 공간을 없애는 방법이 있습니까? – jbyrd

관련 문제