我一直在寻找这个,找不到答案.
我设置了一个UIStoryboard在Interface Builder中,虽然一切正常,我似乎无法给挂钩delegate的出口UITabBarController到任何的UIViewController的的UIStoryboard,无论其位置在UIStoryboard.我已经设定UIViewController的是一个<UITabBarControllerDelegate>中.h文件,但Interface Builder中不会让我选择UIViewController的delegate对UITabBarController.
有没有人遇到过这个问题?
iphone delegates uitabbarcontroller uiviewcontroller uistoryboard
我有两个版本的选项卡式ios5应用程序,一个使用故事板创建,一个使用xib文件.故事板版本不调用该UITabBarControllerDelegate方法didSelectViewController(xib版本).(我认为)故事板中缺少某些东西,但我不知道是什么.构建问题的另一种方法可能是 - 如何引用UITabBarController故事板实例化的对象?
谢谢你的帮助.
编辑:标签栏控制器委托设置:
在AppDelegate.h中:
@interface MyAppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
@property (strong, nonatomic) UITabBarController *tabBarController;
Run Code Online (Sandbox Code Playgroud)
在AppDelegate.m中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.tabBarController.delegate = self;
return YES;
}
Run Code Online (Sandbox Code Playgroud)
然后在AppDelegate.m中,委托方法是:
- (void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"Got Here");
}
Run Code Online (Sandbox Code Playgroud)
NSLog输出永远不会出现.在我看来,问题是我没有正确引用已经由故事板实例化的标签栏控制器对象.我怎么做?
我知道这是可能的,但它真的是一个很好的编程习惯吗?我的想法是将UIAlertView自己子类化并订阅为我自己的委托,以便能够添加按钮和块处理程序.这样,当我得到alertView:clickedButtonAtIndex:我称之为传递的块.
我希望这是可以理解的.这是一个很好的编程习惯吗?
更新:这是我对https://github.com/ianmurrays/IMAlertView的要求.任何评论将不胜感激.