如果应用程序以前在后台,当调用applicationDidBecomeActive
时,如何选择刷新用户界面?
我希望当前的视图控制器始终是storyboard中的初始视图控制器。我无法在主AppDelegate.m
中获取指向故事板的指针。
如何检查并确定当前显示的视图控制器?
答案 0 :(得分:4)
如果您只想要一个指向故事板的指针,那么您可以这样做:
UIStoryboard *sb = [[[self window] rootViewController] storyboard];
其中rootViewController
实际上是故事板的初始视图控制器。如果你希望这个控制器成为当前的控制器(如你所说)那么你很高兴,但如果你想真正更新你的用户界面,那么我想你可以发布一个来自代表的自定义通知(在{{1并注册可能有兴趣捕获它的每个控制器,以便它可以更新其UI(或者只是添加applicationDidBecomeActive
作为self
的观察者来捕获你的代表捕获的那个... )。
PS。如果您的UIApplicationDidBecomeActiveNotification
是rootViewController
,则可以获得当前显示的控制器:
UINavigationController