Novedades de control de subprocesos principales en iOS

Descargar ejemploDescargar el ejemplo

Esta plataforma específica de iOS permite realizar actualizaciones de representación y diseño de controles 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 Application.HandleControlUpdatesOnMainThread propiedad trueenlazable en :

<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 Application.On<iOS> método especifica que esta plataforma específica solo se ejecutará en iOS. El Application.SetHandleControlUpdatesOnMainThread método , en el Xamarin.Forms.PlatformConfiguration.iOSSpecific espacio de nombres , 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 Application.GetHandleControlUpdatesOnMainThread método se puede usar para devolver si se realizan actualizaciones de representación y diseño de controles en el subproceso principal.