我正在使用idev-recipes / RaisedCenterTabBar,我希望从中心按钮调用模态视图,而不是相机。
代码在这里: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
有关如何使其发挥作用的任何想法?
答案 0 :(得分:4)
为了实现这一目标,有更好的方法可以遵循。而且更容易。
通过使用此方法实现我的理解:https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar是当您尝试隐藏标签栏时发生的奇怪事情。因此,我找到的最佳解决方案(与您一样)是:http://www.lantean.co/display-a-modal-uiviewcontroller-when-a-uitabbaritem-is-pressed/
无需做任何其他事情。只需忽略与UITabBarItem关联的视图控制器并显示您的模态视图!这就是全部!
答案 1 :(得分:2)
我会创建你自己的UITabBarController子类,然后添加这个方法:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
}
您将能够告诉选择了哪个项目,然后在那里实例化一个模态VC。
答案 2 :(得分:0)
可能您可以使用UITabBarDelegate和- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
方法。
当有人按下标签栏中的按钮时,方法会被发送给代表。在那里你可以检查它是否是正确的按钮,然后实例化模态视图控制器。
答案 3 :(得分:0)
通过子类化或使用委托,您只需检查所选项目是否为中间按钮,如果是,请使用选项卡栏选择之前选择的项目,然后显示模型视图控制器。由于您将在原始选择发生的相同RunLoop源中执行此操作,因此选项卡选择将在不切换到中间VC的情况下有效撤消。
答案 4 :(得分:0)
根据您提供的代码示例=> https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
中央凸起的标签按钮是一个UIButton,所以只需在BaseViewController.m类中设置该按钮的动作
[button addTarget:self action:@selector(showmodalview) forControlEvents:UIControlEventTouchUpInside];
然后在showmodalview方法中编写此代码=>
-(void)showmodalview
{
UIViewController *view1=[[UIViewController alloc] init]; // you can use any view controller instance you want ,this is just the example.
[self presentModalViewController:view1 animated:YES];
}