我一直在寻找这个,找不到答案。
我在Interface Builder中设置UIStoryboard
,虽然一切正常但我似乎无法将delegate
的{{1}}出口连接到任何一个UITabBarController
中的UIViewController
,无论其在UIStoryboard
中的位置如何。我在UIStoryboard
文件中将UIViewController
设置为<UITabBarControllerDelegate>
,但Interface Builder不允许我选择.h
作为UIViewController
对于delegate
。
有没有人遇到过这个问题?
答案 0 :(得分:11)
事实证明,您无法在delegate
中设置UIStoryboard
的原因是因为您无法保证在UIViewController
之前加载UITabBar
加载。因此,以编程方式设置delegate
(在不同的UIViewController
中)是完成此操作的 ONLY 方式。
答案 1 :(得分:5)
您需要在应用程序委托的application:didFinishLaunchingWithOptions
方法中以编程方式执行此操作:
_tabBarController = (UITabBarController *)_window.rootViewController;
_tabBarController.delegate = self;