我正在尝试在按下apicker
时创建一个类型的东西。如果您查看 tumblrs iphone 应用程序,您就会明白我的意思。我假设他们正在展示用户当前使用的任何内容。我该怎么做?button
UITabBar
UIView
viewcontroller
问问题
224 次
1 回答
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,并为该按钮单击功能设置一个委托方法。因此,每次当您从不同的视图控制器单击该按钮时,它都会有不同的行为。
希望这能让您对如何实现这一目标有一些粗略的了解。
于 2014-02-17T20:06:03.880 回答