2017-09-21 20 views
1

Xamarin.Formsアプリ全体でiOS 11 prefersLargeTitlesを有効にするにはどうすればよいですか?Xamarin.FormsのiOS 11の大きなタイトル

私が設定し、NavigationPageためPageRendererから派生したカスタムレンダラを作成してみました:

ViewController.NavigationController.NavigationBar.PrefersLargeTitles = true; 

しかしこれは、任意の効果を持っていませんでした。

+0

ませ無礼が、SOのあなたの評判を持つ人のために、私はこれよりも少し多くの努力を期待したい:

実施例のレポはこちらません。何を試しましたか? –

+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

私は似たような問題に遭遇しました。テキストが大きくなってからヘッダーに移動すると、ページの下部にあるタブバーが上にスクロールします。 –

関連する問題