ios - UITabBarControllerDelegate 方法未被调用

标签 ios objective-c iphone uitabbarcontroller

我有一个有 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/

相关文章:

ios - prepareToRecord 崩溃

ios - PhotoKit:使用 requestImageForAsset 通过 PHImageManagerMaximumSize 获取 Assets 时崩溃 [assetsd 被中断或死亡]

ios - stringByReplacingOccourencesOfString 与 NSMutableAttributedString

iphone - "EXC_BAD_ACCESS", "-[CFString retain]: message sent to deallocated instance"在表格中滚动时

iphone - 应用程序在发送和接收特殊字符时崩溃

iphone - 将手机的照片复制到应用程序的目录

ios - NSFetchedResultsController 始终不返回任何行

ios - Apache Cordova 错误将裁剪后的图像从 IOS 上传到服务器

c - 如何使用共享静态库避免 xcode 中的 "duplicate symbol"错误?

objective-c - 无法将字符串正确转换为日期 objective-c