我正在尝试执行以下操作: 我在tabBarController中有一些viewControllers。 在启动时,tabBarController(显然是其中的任何内容)隐藏在从appDelegate调用的“splashScreenView”后面。
splashScreenView有一个UIActivityIndicator,当应用程序从网络服务器获取数据时,它仍然可见。
为了简单起见,我希望tabBarController的每个视图都能管理自己的数据。 我正在使用“viewDidLoad”方法来获取这些数据。
问题是:如何从appDelegate的appDidFinishLaunching触发每个tabBarController视图的viewDidLoad方法?
谢谢!
答案 0 :(得分:1)
我要做的就是像往常一样加载标签栏,但将self.tabBarController.view.hidden
设置为YES
。这样,您可以为启动画面执行addSubview
,它似乎是唯一的视图。
当关闭启动画面时,只需将隐藏值更改为NO
,如果需要,可添加动画以使其淡入,或使启动画面淡出。
启动闪屏时,只需为每个标签栏视图控制器运行viewDidLoad
(运行活动监视器时)。完成后,在保持启动屏幕的同时关闭活动监视器,或根据您的目标解雇该活动监视器。这有帮助吗?
答案 1 :(得分:0)
虽然我认为您最好使用模型进行数据操作,但您可以这样做:
ViewController1 *foo = [[ViewController1 alloc] init];
[foo viewDidLoad];
ViewController2 *bar = [[ViewController2 alloc] init];
[bar viewDidLoad];
另外,使用这种方法,我认为你最好将de data操作的逻辑放在一个单独的方法中,并从你的app delegate中调用它。