当我按下picker
上的button
时,我正在尝试创建UITabBar
类型的内容。如果你看看tumblrs iphone app,你就会明白我的意思。我假设他们在用户当前所在的UIView
上呈现viewcontroller
。我该怎么做?
答案 0 :(得分:3)
这个问题对我来说更像是一个自定义标签栏按钮问题,我认为tumblr所做的是在标签栏中间添加一个自定义按钮,并在点击该按钮时显示一个模态视图控制器。
我对我的测试项目做了一个非常快速的测试,有些数字是用于测试目的的硬编码,你可能需要稍微调整一下。
在标签栏中间添加自定义按钮。 (将以下代码添加到第一个视图控制器的viewWillAppear
)
- (void)viewWillAppear:(BOOL)animated
{
UIImage *buttonImage = [UIImage imageNamed:@"classic-batman-logo.jpg"];
UIImage *highlightImage = [UIImage imageNamed:@"classic-batman-logo.jpg"];
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, 60, 50);
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setBackgroundImage:highlightImage forState:UIControlStateHighlighted];
button.center = CGPointMake(self.tabBarController.tabBar.center.x , 30);
[button addTarget:self action:@selector(centerButtonClicked) forControlEvents:UIControlEventTouchUpInside];
[self.tabBarController.tabBar addSubview:button];
}
然后只需在centerButtonClicked函数中显示目标视图控制器
- (void)centerButtonClicked
{
UIViewController *vc = [[UIViewController alloc]init];
vc.view.backgroundColor = [UIColor redColor];
[self presentViewController:vc animated:YES completion:nil];
}
这只是我做过的10分钟测试,应该是这样的:
也许有几件事你想要注意:
在实施自己的代码时更改硬编码中心点
甚至更好,您可以使用该中心按钮创建自定义tabBar,并为该按钮单击功能设置委托方法。因此,每当您从不同的视图控制器单击该按钮时,它将具有不同的行为。
希望能给你一些关于如何实现这一目标的粗略想法。