代码之家  ›  专栏  ›  技术社区  ›  SoftSan

沙马林。表格iOS导航问题

  •  0
  • SoftSan  · 技术社区  · 6 年前

    我有个奇怪的问题。我用了最新的Xamarin。表格(V3.1.0.583944)。 在iOS上,我需要从一个页面导航到另一个页面。所以我使用了以下代码:

    NavigationPage Root;
    
    public void SetRootView(NavigationPage root)
        {
    
            try
            {
                App.Instance.MainPage = root;
                Root = root;
            }
            catch (System.Exception ex)
            {
                 // handle exception
            }
        }
    

    在另一个方法(通用)中,我声明有代码可以推送到导航堆栈:

    public async Task PushViewAsync<TView>() where TView : Page             
     {             
         var view = GetView<TView>();                     
          await Root.PushAsync(view);             
     }
    

    但它不会把它推到另一页。没有错误或例外。但它只是停留在那里。然而,如果我点击屏幕,它会进入下一页。

    这在安卓上绝对可以正常工作。所以我不确定这在iOS上是什么原因。 有什么想法吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   François    6 年前

    导航时,您需要在UI线程上。

    Device.BeginInvokeOnMainThread (async() => {
      await Root.PushAsync(view);
    });