我有一个有 4 个选项卡的选项卡栏 Controller ,我想要:当点击第 4 个选项卡(虚拟 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/