如果应用程序以前在后台,什么时候applicationDidBecomeActive
被调用,我怎样才能有选择地刷新用户界面?
我希望当前视图控制器始终是故事板中的初始视图控制器。我无法在我的 main 中获得指向故事板的指针AppDelegate.m
。
如何检查并确定当前显示的是哪个视图控制器?
如果应用程序以前在后台,什么时候applicationDidBecomeActive
被调用,我怎样才能有选择地刷新用户界面?
我希望当前视图控制器始终是故事板中的初始视图控制器。我无法在我的 main 中获得指向故事板的指针AppDelegate.m
。
如何检查并确定当前显示的是哪个视图控制器?
如果你只想要一个指向你的故事板的指针,那么你可以这样做:
UIStoryboard *sb = [[[self window] rootViewController] storyboard];
rootViewController
实际上,故事板的初始视图控制器在哪里。如果您希望此控制器成为当前控制器(如您所说),那么您很高兴,但如果您想实际更新您的 UI,那么我想您可以从委托(内部applicationDidBecomeActive
)发布自定义通知,并且注册每个可能有兴趣捕获它的控制器,以便它可以更新其 UI(或者只是添加self
为观察者UIApplicationDidBecomeActiveNotification
以捕获与您的委托捕获的相同的控制器......)。
PS。如果您rootViewController
是 a UINavigationController
,您可以像这样获得当前显示的控制器:
id currentController = [[[self window] rootViewController] visibleViewController];