该应用程序。委托具有在应用程序启动时被调用的方法。痛苦是我的应用程序没有遵循 MVC,我必须在应用程序时将许多文本字段重置为空。发射(不关心第一次发射)。这些 txt 字段不是在应用程序委托中创建的,因此我无法在应用程序委托中设置它们(因为无法访问 txt 字段)。我怎么知道该应用程序已在新类中启动以重置字段。有没有类似的条件
if(application.HasAppLaunced)
{
}
请帮助
该应用程序。委托具有在应用程序启动时被调用的方法。痛苦是我的应用程序没有遵循 MVC,我必须在应用程序时将许多文本字段重置为空。发射(不关心第一次发射)。这些 txt 字段不是在应用程序委托中创建的,因此我无法在应用程序委托中设置它们(因为无法访问 txt 字段)。我怎么知道该应用程序已在新类中启动以重置字段。有没有类似的条件
if(application.HasAppLaunced)
{
}
请帮助
您可以将您的视图控制器注册为事件的观察者
UIApplicationDidEnterBackgroundNotification
或者
UIApplicationWillEnterForegroundNotification
在您的视图控制器中的某处viewDidLoad
:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(appEnteredBackground)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
并添加此方法来重置您的字段,您可以在此处重置所有字段:
- (void)appEnteredBackground{
[textField setText:@""];
}
不要忘记注销您的视图控制器,将其放在适当的位置:
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil];
我不完全明白你在问什么,但如果问题是如何检测她的应用程序处于活动状态,你可以使用以下条件:
[[UIAppication sharedApplication] applicationState] == UIAppicationStateActive
尝试这个
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Reset your text fields here
}
试试这个..你可以调用一个方法来清空textfields
使用NSNotificationCenter
您可以在AppDelegate
.
[[NSNotificationCenter defaultCenter]postNotificationName:@"EmptyFields" object:nil];
viewDidLoad
您可以在方法中编写以下行。
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(setEmpty) name:@"EmptyFields" object:nil];
你可以textfields
用下面的方法做空。你可以把它写在你的ViewController
.
- (void) setEmpty{
NSLog(@"Empty....");
}