来自UITabBar的Modal Popup项目Like Instagram Post Tab项目
问题描述:
在Instagram应用程序中,当您单击底部选项卡栏中的中间按钮时,它会弹出一个视图控制器(看起来是模态),并且此视图控制器覆盖整个屏幕,包括标签栏和导航栏。我怎样才能做到这一点?我开始创建一个独立的视图控制器,并对标签栏控制器进行了分类,所以当中间项目被点击时,我运行了一个自定义的细节。这很好,但什么是错误的是,当我关闭模式,视图控制器已经附加到中间标签栏项目正在显示。当中间的标签栏项目被点击时,会发生什么情况,仅仅是发生模式弹出,这就是全部。我怎样才能停止中间标签栏项目显示它的视图控制器,只是运行自定义模态赛格?来自UITabBar的Modal Popup项目Like Instagram Post Tab项目
答
好像你在你的应用程序中使用标签栏导航,为什么不只是添加一个空栏,并手动添加一个按钮的动作?
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];
我知道我可以做到这一点,但宁愿在我的应用程序中使用标签栏导航,只需担心自定义中心选项卡项目。点击时我的模式显示效果很好,只是当原始视图控制器现在被加载时,它被解散了。必须有一种方法来防止这种情况的发生.. – 2015-02-09 19:57:58
[self.navigationController popViewControllerAnimated:YES]; 如果你只是想向下弹出一个级别...... – 2015-02-09 20:00:01
我最后只是在中间标签栏顶部添加一个按钮。这需要所有的触动,我避免点击下面的中间标签栏 – 2015-02-09 20:24:13