0

有没有办法在 Xamarin/iOS 应用程序进入后台时清除文本字段,以便当应用程序进入前台时它已准备好供用户输入?

4

3 回答 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 回答