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