MonoTouch的
当应用程序返回到前台时,我需要处于活动状态的ViewController来了解这一点。
是否有可用于确定视图被带到前台的事件或覆盖。
我确实找到了“WillEnterForegroundNotification”,但它是一个String,所以我不确定它是如何使用的。
答案 0 :(得分:8)
我发现了这个:
将它放在ViewController的CTOR中:
NSNotificationCenter.DefaultCenter.AddObserver (UIApplication.WillEnterForegroundNotification,
EnterForeground);
然后创建此方法以在视图控制器中处理事件。
void EnterForeground (NSNotification notification)
{
Console.WriteLine("EnterForeground: " + notification.Name);
}
注意:当您的应用程序被带到前台时,UIApplicationDelegate将首先获得此项,这是清除登录详细信息和安全相关检查等内容的好地方。
public override void WillEnterForeground (UIApplication application)
答案 1 :(得分:0)
在我的MonoTouch应用程序中,我有一个“添加”按钮,一旦被点击,然后在当天的剩余时间内被禁用。要在应用程序变为活动状态时检查并启用该按钮,请在ViewController的构造函数中监视UIApplication.Notifications.ObserveDidBecomeActive
。
NSObject _didBecomeActiveNotification;
.
.
.
// and in constructor
_didBecomeActiveNotification = UIApplication.Notifications.ObserveDidBecomeActive((sender, args) => {
SetRightBarButtonState();
});
然后我通过
覆盖ViewController中的Dispose
方法
protected override void Dispose (bool disposing) {
if (disposing) {
_didBecomeActiveNotification.Dispose();
}
base.Dispose (disposing);
}