2017-09-21 2 views
1

내 Xamarin.Forms 앱에서 iOS 11 prefersLargeTitles을 어떻게 활성화 할 수 있습니까? Xamarin.Forms의 iOS 11 대형 제목

ViewController.NavigationController.NavigationBar.PrefersLargeTitles = true; 

그러나, 아무런 영향을 미치지 않았다

나는 설정 NavigationPage에 대한 PageRenderer에서 파생 된 사용자 정의 렌더러를 작성했습니다.

+0

없음 무례하지만, SO에 명성을 가진 사람, 나는 이것보다 조금 더 많은 노력을 기대 : 예 REPO 작업

은 여기에 없다. 너 뭐 해봤 니? –

+0

나는 내 시도에 따라 질문을 업데이트했다. 그것은 아무 효과가 없었기 때문에, 나는 그것이 많은 용도가 될 것이라고 생각하지는 않았지만 단지를 위해서 ... –

답변

6

짜잔

[assembly: ExportRenderer(typeof(NavigationPage), typeof(NavBarRenderer))] 
namespace LargeTitleSample.iOS 
{ 
    public class NavBarRenderer : NavigationRenderer 
    { 
     protected override void OnElementChanged(Xamarin.Forms.Platform.iOS.VisualElementChangedEventArgs e) 
     { 
      base.OnElementChanged(e); 

      NavigationBar.PrefersLargeTitles = true; 
     } 
    } 
} 

당신은 NavigationRenderer을 상속받는 NavigationPage에 대한 사용자 정의 렌더러를 만들어야합니다. 그런 다음 NavigationBarPrefersLargeTitles 속성을 true로 설정하십시오.

스크롤 할 수있는 컨트롤을 페이지에 추가하면 스크롤 할 때 적어도 "ListView"에 해당하는 효과가 자동으로 커야합니다. https://github.com/jfversluis/LargeTitleSample

+0

매력처럼 작동했지만 작은 버그가 없습니까? 내 말은, 아래쪽에 하얀 여백이 생겼다는 것입니다. – rafaelbpa

+0

화면 아래쪽을 위로 스크롤하면 의미합니까? 아마도 .. 어떤 종류의 삽입물과 관련이있을 것입니다. 내가 몇 분 동안 뭔가를 알아낼 수 있는지 알아볼 것입니다. –

+0

비슷한 문제가있을 수 있습니다. 페이지 하단의 탭 표시 줄은 텍스트가 크게에서 머리글로 이동하면 위로 스크롤합니다. –