Prism Xamarin表示CustomRenderer导致iOS中的导航问题

时间:2016-09-13 19:43:00

标签: c# ios xamarin.forms prism renderer

我在我的Xaml中使用自定义标签,它有一个自定义渲染器。这似乎在Android中运行良好,但在iOS中不行。

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

1 个答案:

答案 0 :(得分:0)

对于有此问题的任何人。正如Brian Lagunas所指出的那样,这是我自定义渲染器的疏忽。我没有更新OnElementChanged()中的本机控件,而是更新了XF元素。

应该像这样更新本机控件

Control.TextColor = UIColor.Purple; // iOS

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

而不是

Element.TextColor = Color.Purple;

这个故事的道德:加速造成浪费;)