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