有没有办法在 Xamarin/iOS 应用程序进入后台时清除文本字段,以便当应用程序进入前台时它已准备好供用户输入?
问问题
900 次
3 回答
3
在您关心的视图控制器中,将其添加到 LoadView 或类似的:
UIApplication.Notifications.ObserveWillResignActive( ResignActive );
然后清除 ResignActive 中的字段:
void ResignActive (object sender, MonoTouch.Foundation.NSNotificationEventArgs args)
{
this.TextField.Text = "";
}
当应用程序即将被中断时,会发生辞职活动通知。将它放在您的视图控制器中可以避免应用程序委托与回调混淆,并将逻辑保持在 ui 附近。
于 2013-05-30T17:52:03.003 回答
0
在您的控制器中,您可以添加一个观察者,当控制器进入前台时,观察者会注意到。
在您的控制器构造函数中添加:
NSNotificationCenter.DefaultCenter.AddObserver(UIApplication.WillEnterForegroundNotification, EnteredForeground);
然后添加函数
void EnteredForeground(NSNotification notification)
{
if (IsViewLoaded && View.Window != null)
{
if (AppDelegate.willEnterForeground)
{
// Clear your textfields
}
}
}
于 2013-05-31T08:50:14.080 回答
0
在您的 AppDelegate 中
public override void DidEnterBackground(UIApplication application)
{
// App entered background, do some light stuff here,
// there is not much time before getting suspended
}
于 2013-05-30T16:59:25.010 回答