Xamarin ios - 如何在延迟/异步后设置视图标题

时间:2015-05-26 09:16:00

标签: c# ios xamarin xamarin.ios mvvmcross

我试图在短暂延迟后设置MvxViewController视图的标题(我的真实示例是从api调用返回的值中检索页面标题)。

我的观点:

public class TestView : MvxViewController
{
    public override void ViewDidLoad()
    {
        base.ViewDidLoad();

        // execute timer after 1 second
        Timer timer = new Timer ((state) => {
            InvokeOnMainThread(() => {
                this.Title = "TITLE";
            });
        }, null, 1000, int.MaxValue);
    }
}

首次导航到视图时标题不会更新,但如果您导航到另一个控制器然后“返回”到该控制器,则会更新标题。显然,如果我在没有计时器的情况下设置标题,它会按预期工作。

我尝试了多种方法来设置视图控制器的标题。他们都没有在计时器中设置标题。

我确定我遗漏了一些基本的东西,比如在视图的生命周期(或mvvmcross)中发生了什么事情,这可能会阻止在调用初始的'viewdidload'之后重新绘制视图?

感谢任何帮助!

编辑:我已经修改了我的问题以删除mvvmcross'viewmodel'以简化问题,但在我的实际示例中,视图的标题是mvx流畅绑定到viewmodel上的属性。

0 个答案:

没有答案