如何在关闭单个触控应用程序/发送到后台时清除文本字段?

时间:2013-05-30 16:37:35

标签: xamarin.ios xamarin

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

3 个答案:

答案 0 :(得分:3)

在您关注的视图控制器中,将其添加到LoadView或类似名称:

 UIApplication.Notifications.ObserveWillResignActive( ResignActive );

然后清除ResignActive中的字段:

void ResignActive (object sender, MonoTouch.Foundation.NSNotificationEventArgs args)
{
    this.TextField.Text = "";
}

当应用程序即将被中断时,会发生resign活动通知。将它放在视图控制器中可以避免使用回调混乱应用程序委托,并将逻辑保持在ui附近。

答案 1 :(得分:0)

你的AppDelegate中的

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
            }
        }
    }