2016-09-13 2 views
0

Я использую пользовательскую метку в своем Xaml, у которой есть собственный рендерер. Это, похоже, отлично работает на Android, но не в iOS.Prism Xamarin Forms CustomRenderer, вызывающий проблему с навигацией в iOS

Repro: Запустить приложение в iOS. Нажмите , чтобы перейти на главную страницу. Нажмите Войти. Модальная страница входа будет отображаться с помощью переключателя. Переключить (или нет) переключатель и коснуться Выполнено. На домашней странице он проверяет результаты в InavigationAware.OnNavigatedTo() и отображает диалоговое окно. Однако в iOS он не вызывается, когда я использую XfLabel, у которого есть собственный рендерер. Не использование настраиваемого средства визуализации приведет к правильному поведению.

Является ли механизм XR's ExportRenderer возиться с DI Prism как-то на iOS?

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; 

Мораль этой истории: Ускорение насмешишь;)