【问题标题】:OnDisappearing and OnAppearing overrides cannot be treated as guaranteed indications of page navigation? Xamarin.FormsOnDisappearing 和 OnAppearing 覆盖不能被视为页面导航的保证指示? Xamarin.Forms
【发布时间】:2016-12-18 10:20:44
【问题描述】:

我正在向 Xamarin.Forms 应用程序添加导航。每次离开页面时,我都需要执行一个方法。我想覆盖Page 基类中的OnDisappearing 方法。问题是在在线 Xamarin 书中,在 navigation chapter 上我发现了这样的声明:

不能调用 OnDisappearingOnAppearing 覆盖 被视为页面导航的保证指示。例如,在 iOS,在活动页面上调用 OnDisappearing 覆盖时 应用程序终止。

这是否意味着在导航到另一个页面时不会每次都正确执行 OnDesappeating 方法?

【问题讨论】:

    标签: c# android ios xamarin xamarin.forms


    【解决方案1】:

    这些方法在 iOS 和 Android 的不同地方提出。所以比如Android中PageRenderer中的OnAttachedToWindow会调用OnAppearing,但是OnAttachedToWindow和“导航到一个页面”的意思不一样;有时它的调用时间比预期的要早。例如,TabLayout 将预先初始化当前选项卡附近的选项卡,并且将为所有这些选项卡调用 OnAttachedToWindow。

    【讨论】:

    • 所以我知道 Android 和 iOS 的行为可能有所不同,但它们具体有何不同(在行为方面)?
    • 你是说他们并不总是在预期的时候被调用?
    • 据我所知,在 Android 上,当您锁定手机屏幕并再次解锁时,它们甚至会被调用。即使您将应用程序置于后台。这就是我放弃使用它们的原因
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    相关资源
    最近更新 更多