UITabBar项目的模式弹出菜单,如Instagram帖子选项卡项目



在Instagram应用程序中,当你点击底部选项卡栏的中间按钮时,它会弹出一个视图控制器(看起来很正常),这个视图控制器覆盖整个屏幕,包括选项卡栏和导航栏。我怎样才能做到这一点?我开始创建一个单独的视图控制器,并将选项卡栏控制器子类化,所以当点击中间项时,我运行了一个自定义的segue。这很好,但错误的是,当我取消模态时,已经连接到中间选项卡栏项目的视图控制器正在显示。应该发生的是,当点击中间的选项卡栏项目时,只会出现模式弹出,仅此而已。如何阻止中间的选项卡栏项目显示其视图控制器并仅运行自定义模态segue?

似乎您在应用程序中使用选项卡栏导航,为什么不添加一个空栏并手动附加一个带有操作的按钮呢?

UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setBackgroundImage:highlightImage forState:UIControlStateHighlighted];
CGFloat heightDifference = buttonImage.size.height - self.tabBar.frame.size.height;
if (heightDifference < 0)
    button.center = self.tabBar.center;
else
{
    CGPoint center = self.tabBar.center;
    center.y = center.y - heightDifference/2.0;
    button.center = center;
}
[self.view addSubview:button];

最新更新