Compartir vía


Actualizaciones de control del subproceso principal en iOS

Esta característica específica de la plataforma iOS permite realizar actualizaciones de representación y diseño de control en el subproceso principal, en lugar de realizarse en un subproceso en segundo plano. Rara vez es necesario, pero en algunos casos puede evitar bloqueos. Se consume en XAML estableciendo la propiedad enlazable Application.HandleControlUpdatesOnMainThread en true:

<Application ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             ios:Application.HandleControlUpdatesOnMainThread="true">
    ...
</Application>

Como alternativa, se puede consumir desde C# mediante la API fluida:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

Xamarin.Forms.Application.Current.On<iOS>().SetHandleControlUpdatesOnMainThread(true);

El método Application.On<iOS> especifica que esta plataforma específica solo se ejecutará en iOS. El método Application.SetHandleControlUpdatesOnMainThread, del espacio de nombres Xamarin.Forms.PlatformConfiguration.iOSSpecific, se usa para controlar si las actualizaciones de representación y diseño de controles se realizan en el subproceso principal, en lugar de realizarse en un subproceso en segundo plano. Además, el método Application.GetHandleControlUpdatesOnMainThread se puede usar para devolver información sobre si se realizan actualizaciones de representación y diseño de control en el subproceso principal.