如何在 Xamarin Forms iOS 中的特定页面上导航?
Posted
技术标签:
【中文标题】如何在 Xamarin Forms iOS 中的特定页面上导航?【英文标题】:How to navigate on specific page in Xamarin Forms iOS? 【发布时间】:2018-06-28 07:24:08 【问题描述】:我正在使用Xamarin Forms
并使用ANH
通知。我能够收到来自 ANH 的通知。但问题是当我收到通知并尝试从通知区域打开它时,我想在 ios 的特定通知页面上重定向。我在android上用过PendingIntent
,但对于iOS我不知道。
另外,我想在应用打开并收到通知时在标签上显示一个徽章。我在 iOS 上使用 CustomRenderer
。我的 TabRenderer 代码是:
public class BottomTabbedPage : TabbedRenderer
public override void ViewWillAppear(bool animated)
base.ViewWillAppear(animated);
TabBar.UnselectedItemTintColor = UIColor.FromRGB(208,208,208);
TabBar.BackgroundColor = UIColor.White;
TabBar.Items[1].BadgeValue = SettingClass.MenuNotificationCount == 0 ? null : SettingClass.MenuNotificationCount.ToString();
TabBar.Items[2].BadgeValue = SettingClass.PromoNotificationCount == 0 ? null : SettingClass.PromoNotificationCount.ToString();
当应用程序启动时,会显示徽章,但当应用程序处于后台并收到通知时,计数会增加,但当应用程序启动时,徽章不会更新。我该如何解决这个问题?
【问题讨论】:
【参考方案1】: 要导航到特定页面,您可以在收到或处理通知时使用 AppDelegate.cs 中的以下代码。等待 App.Current.MainPage.Navigation.PushAsync(new specificPage());
要在应用打开时更新徽章计数,您需要在收到通知时捕获徽章计数并进行相应更新。【讨论】:
但是在 iOS 中我们如何识别应用程序是从通知中打开的? 应用打开时会调用下面的方法。 public override void OnActivated(UIApplication uiApplication). 好的,谢谢,我会检查并尝试一下。以上是关于如何在 Xamarin Forms iOS 中的特定页面上导航?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Xamarin Forms 项目调用 Android 和 iOS 项目中可用的方法?
Xamarin Forms - 状态栏与 IOS 中的内容重叠(safeareainsets 问题)
Xamarin.Forms iOS 依赖服务中的触觉反馈崩溃