Atualizações do controle de thread principal no iOS
Esse específico da plataforma iOS permite que o layout de controle e as atualizações de renderização sejam executadas no thread principal, em vez de serem executadas em um thread em segundo plano. Raramente deve ser necessário, mas em alguns casos pode evitar travamentos. É consumido em XAML definindo a Application.HandleControlUpdatesOnMainThread
propriedade associável 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 método Application.On<iOS>
especifica que essa plataforma específica só será executada no iOS. O Application.SetHandleControlUpdatesOnMainThread
método, no namespace, é usado para controlar se o layout do controle e as Xamarin.Forms.PlatformConfiguration.iOSSpecific
atualizações de renderização são executadas no thread principal, 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 o layout de controle e as atualizações de renderização estão sendo executadas no thread principal.