【问题标题】:Why would Xamarin Forms Activity Indicator not be rendered on iOS?为什么 Xamarin Forms 活动指示器不会在 iOS 上呈现?
【发布时间】:2017-09-01 13:08:46
【问题描述】:

我正在使用 Xamarin Forms 2.3.2.127 开发移动应用程序。

我有一个位于 StackLayout 中的活动指示器,而后者又包含在 Grid Row 中。

活动指示器在 Android 上呈现,但在 iOS 上不呈现。

XAML 控件如下:

<ActivityIndicator WidthRequest="50" Color="Red" HeightRequest="50" VerticalOptions="Center" IsVisible="True" IsRunning="True"/>

目前没有应用绑定,也没有使用 CustomRenderers 对底层控件进行任何更改。

关于可能导致此问题的任何想法,或者是否存在任何常见错误?以前在其他项目中也出现过这种情况,并且在没有任何变化的情况下随机纠正。

【问题讨论】:

    标签: ios xaml xamarin xamarin.forms


    【解决方案1】:

    我有同样的问题&在操作过程中不可见,我正在使用 MVVM 绑定,我通过调用 MainThread 解决了它

    XAML

    <ActivityIndicator IsVisible="{Binding PBVisibility}" IsRunning="{Binding PBRunning}" Color="Black" />
    

    视图模型

     Device.BeginInvokeOnMainThread (() => {
                        PBVisibility = true;
                        PBRunning = true;
                        RaisePropertyChanged ("PBVisibility");
                        RaisePropertyChanged ("PBRunning");
    
                    });
    

    你在 MainThread 中运行它,它就会工作。

    【讨论】:

    • 没有调用,该元素还没有绑定,对于静态值,指示器应该简单地显示并始终运行,但它根本没有呈现。
    • 我也放了简单但没有在 iOS 中显示,之后我使用 Binding & runInMainThread & 然后它出现并运行
    • 请重新阅读我的问题,我的问题不是活动指示器出现在更改上,而是它被渲染了,控件代码正在运行,只是没有被渲染,因为它在 android 上运行良好,所以绑定或在正确的线程上调用不是问题
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    相关资源
    最近更新 更多