Iphone 如何从自定义UITabBar启动模态视图?

Iphone 如何从自定义UITabBar启动模态视图?,iphone,objective-c,uitabbar,modalviewcontroller,Iphone,Objective C,Uitabbar,Modalviewcontroller,我用这个做了一个凸起的中心 我现在面临的挑战是,我不知道如何创建在按下按钮时显示的模式视图 有没有人幸运地使用了idev recipes RaisedCenterTabBar?您是如何实现出现在那里的模式表的 或者,是否有一个不同的gitHub项目,它有一个带有模式工作表的工作自定义选项卡栏 谢谢大家! 我正在编写的一个程序中也有类似的东西,我很乐意向您展示我是如何做到这一点的。我在选项卡栏中有两个ViewController。我在我决定首先出现在ViewDidLoad屏幕上的VC中创建加号按钮

我用这个做了一个凸起的中心

我现在面临的挑战是,我不知道如何创建在按下按钮时显示的模式视图

有没有人幸运地使用了idev recipes RaisedCenterTabBar?您是如何实现出现在那里的模式表的

或者,是否有一个不同的gitHub项目,它有一个带有模式工作表的工作自定义选项卡栏


谢谢大家!

我正在编写的一个程序中也有类似的东西,我很乐意向您展示我是如何做到这一点的。我在选项卡栏中有两个ViewController。我在我决定首先出现在ViewDidLoad屏幕上的VC中创建加号按钮

    // Create a plus button that appears on the tabBar
UIImage *plusButton = [UIImage imageNamed:@"plusbutton.png"];
UIView *tabBarView = [[self tabBarController] view];
addButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addButton setFrame:CGRectMake(127.0, 432.0, [plusButton size].width, [plusButton size].height)];
[addButton setBackgroundImage:plusButton forState:UIControlStateNormal];
[tabBarView addSubview:addButton];
[addButton addTarget:self action:@selector(scalePicker:) forControlEvents:UIControlEventTouchUpInside];    
我使按钮成为tabBarController视图的子视图。稍后在这个VC的实现中,我有一个称为scalePicker的方法:它创建我的另一个VC的实例,并以模态的方式呈现它。下面是代码:(注意:这是我在上面的代码中将加号按钮设置为目标的方法)

我希望这对你有帮助,
祝你好运

这是我的解决方案,这是迄今为止我发现的最干净的方法。。。我真的希望能有所帮助,我花了几个小时研究最好的方法

我设置了一个“UITabBarController”委托,该委托直接连接到故事板上构建的选项卡界面

**不要忘记在头文件中包含“tabBarController”委托

**请注意,此回调方法不是“didSelectViewController”,而是“shouldSelectViewController”。此方法在选择选项卡之前处理请求,这正是您想要的,因此您可以在请求发生之前停止请求。。。这样你就不必保存你当前的索引,传递它和所有那些废话

然后,我只是检查将选择哪个选项卡(基于视图控制器的标题)

**另外:这是我的代码,根据需要对其进行更改。但是主体应该保留。我的“PerformsgueWithIdentifier”实际上是一个手动序列,连接到以模式打开的选项卡控制器。这段代码对我来说非常有用

 -(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{

     if([[viewController title] isEqualToString:@"tellvc"])
     {
         [self performSegueWithIdentifier:@"shareModelViewController" sender:Nil];
         return NO;
     }
     else
     {
         return YES;
     }

 }

为什么不使用普通的presentModalViewController调用?是否希望选项卡栏显示在模式工作表的顶部?不,我不需要选项卡栏显示在模式视图上。我的问题是如何处理modalviewcontroller的委托。我应该将什么对象指定为委托?AppDelegate?tabBarController?非常干净的方法去吧。
 -(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{

     if([[viewController title] isEqualToString:@"tellvc"])
     {
         [self performSegueWithIdentifier:@"shareModelViewController" sender:Nil];
         return NO;
     }
     else
     {
         return YES;
     }

 }