首页 > 解决方案 > 导航栏上的标题在 iOS 上不起作用

问题描述

我在导航栏上有一个计时器,它在单击按钮后运行,计时器在 android 上工作,但在 iOS 上我的计时器没有更新。

在此处输入图像描述

在此处输入图像描述

Device.StartTimer(TimeSpan.FromSeconds(1), () =>
            {
                if (cts.IsCancellationRequested)
                {
                    return false;
                }
                else
                {
                    Device.BeginInvokeOnMainThread(() =>
                    {

                        TimeSpan _TimeSpan = DateTime.Now - startAt;


                        ToolbarTimer.Text = _TimeSpan.ToString(@"hh\:mm\:ss");

                    });

                    return true;
                }

            });

标签: c#xamarin.formsxamarin.ios

解决方案


对于自定义导航栏,您可以轻松使用 TitleView(Shell 或 Naviagtion)

尝试这样的事情:

<Shell.TitleView>
    <Grid VerticalOptions="Center"
          HorizontalOptions="Center">

        <StackLayout Orientation="Horizontal"
                     HorizontalOptions="Center">

            <Label Text="{Binding Title}" 
                   FontSize="20" 
                   TextColor="White" 
                   VerticalTextAlignment="Center" 
                   HorizontalOptions="Center" />

            <Label Text="{Binding Timer}" 
                   FontSize="20" 
                   TextColor="White" 
                   VerticalTextAlignment="Center" 
                   HorizontalOptions="Center" />

        </StackLayout>

    </Grid>
</Shell.TitleView>

推荐阅读