2016-09-13 13 views
0

カスタムレンダラーを持つXamlでカスタムラベルを使用しています。これはAndroidでは問題なく動作しているようですが、iOSではうまく動作していないようです。Prism XamarinフォームiOSでナビゲーションの問題を引き起こすCustomRenderer

Repro:iOSでアプリを実行します。 ホームをタップするとホームページに移動します。 ログインをタップします。モードのログインページにスイッチが表示されます。スイッチを切り替えて(またはしないで)をタップ。ホームページに戻り、INavigationAware.OnNavigatedTo()で結果を確認し、ダイアログボックスを表示します。ただし、iOSでは、カスタムレンダラを持つXfLabelを使用すると呼び出されません。カスタムレンダラーを使用しないと、正しい動作になります。

XFのExportRendererメカニズムは、何とかiOSでPrismのDIを使いこなしていますか?

Prism.Forms(6.2)

XF(2.3)

サンプル・コード:この問題を持つ人のためhttps://github.com/hnabbasi/xamarin/tree/master/XFPrism/XFPrism

答えて

0

。ブライアン・ラグナスも指摘しているように、私のカスタムレンダラでは見落としがありました。 OnElementChanged()でネイティブコントロールを更新する代わりに、XF​​エレメントを更新していました。 ;)

速攻で廃棄物を作る:

この

Control.TextColor = UIColor.Purple; // iOS 

Control.SetTextColor(Android.Graphics.Color.Purple); // Android 

代わりの

Element.TextColor = Color.Purple; 

この話の教訓のように、ネイティブコントロールを更新する必要があります

関連する問題