我有一个带有4个选项卡的选项卡栏 Controller ,我想要:当点击第四个选项卡(虚拟 View Controller )时,它将显示一个新的 View Controller ,而不显示虚拟VC。
这是我的代码:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
NSLog(@"called");
AskQuestionViewController *AQVC = [[AskQuestionViewController alloc]initWithNibName:@"AskQuestionViewController" bundle:nil];
if (viewController == [tabBarController.viewControllers objectAtIndex:3])
{
[self presentViewController:AQVC animated:YES completion:nil];
return NO;
}
return YES;
}
在我的viewDidLoad方法中,我确实设置了委托(delegate)。
self.tabBarController.delegate = self;
但是,由于某种原因,未调用此方法。
有人可以帮忙吗?
最佳答案
因为此类是tabBarController,所以显然UITabBarController类没有名为tabBarController的属性。
所以我只是将self.tabBarController.delegate = self
设置为self.delegate = self
关于ios - UITabBarControllerDelegate方法未调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31611756/