Controle de thread principal Atualizações no iOS
Essa plataforma específica do iOS permite que o layout de controle e as atualizações de renderização sejam executadas no thread main, em vez de serem executadas em um thread em segundo plano. Ele raramente deve ser necessário, mas em alguns casos pode evitar falhas. Ele é consumido em XAML definindo a propriedade associável Application.HandleControlUpdatesOnMainThread
como true
:
<Application ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:Application.HandleControlUpdatesOnMainThread="true">
...
</Application>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
Xamarin.Forms.Application.Current.On<iOS>().SetHandleControlUpdatesOnMainThread(true);
O Application.On<iOS>
método especifica que esse específico da plataforma só será executado no iOS. O Application.SetHandleControlUpdatesOnMainThread
método, no Xamarin.Forms.PlatformConfiguration.iOSSpecific
namespace , é usado para controlar se as atualizações de layout de controle e renderização são executadas no thread main, em vez de serem executadas em um thread em segundo plano. Além disso, o Application.GetHandleControlUpdatesOnMainThread
método pode ser usado para retornar se as atualizações de layout de controle e renderização estão sendo executadas no thread main.