加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 关于IOS的OnAppearing方法

发布时间:2020-12-16 01:27:31 所属栏目:百科 来源:网络整理
导读:当我的应用程序在后台并进入前台时,OnAppearing()方法在 IOS中无法工作,或者当手机被锁定然后解锁并且应用程序位于前台时,方法OnAppearing()未被调用,在 Android上一切正常. 我在下面找到了这个指南,但仍然无法工作,我有最新版本的xamarin表格. 指南: https
当我的应用程序在后台并进入前台时,OnAppearing()方法在 IOS中无法工作,或者当手机被锁定然后解锁并且应用程序位于前台时,方法OnAppearing()未被调用,在 Android上一切正常.
我在下面找到了这个指南,但仍然无法工作,我有最新版本的xamarin表格.

指南:
https://kent-boogaart.com/blog/hacking-xamarin.forms-page.appearing-for-ios

谁能帮我?

解决方法

如您所见,iOS中的“生命周期”是不同的.一种有用的方法是使用应用程序生命周期并将它们绑定到Page事件(或命令,如果需要).

在您的Application子类中添加几个公共EventHandler并将它们绑定到OnResume(如果需要,还可以OnSleep)

public partial class App : Application
{
    public EventHandler OnResumeHandler;
    public EventHandler OnSleepHandler;

    public App()
    {
        InitializeComponent();
        MainPage = new MyPage();
    }

    protected override void OnSleep()
    {
        OnSleepHandler?.Invoke(null,new EventArgs());
    }

    protected override void OnResume()
    {
        OnResumeHandler?.Invoke(null,new EventArgs());
    }
}

现在在您的ContentPage子类中,添加一个处理程序,该处理程序跟踪该页面何时从后台返回,类似于“OnPppearing on OnPause”处理程序…

void Handle_OnResumeHandler(object sender,EventArgs e)
{
    Console.WriteLine("OnPauseResumeWithPage");
}

protected override void OnAppearing()
{
    (App.Current as App).OnResumeHandler += Handle_OnResumeHandler;
    base.OnAppearing();
}

protected override void OnDisappearing()
{
    (App.Current as App).OnResumeHandler -= Handle_OnResumeHandler;
    base.OnDisappearing();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读