1

我正在尝试在按下apicker时创建一个类型的东西。如果您查看 tumblrs iphone 应用程序,您就会明白我的意思。我假设他们正在展示用户当前使用的任何内容。我该怎么做?buttonUITabBarUIViewviewcontroller

在此处输入图像描述

4

1 回答 1

3

这个问题对我来说更像是一个自定义标签栏按钮问题,我认为 tumblr 所做的是在标签栏中间添加一个自定义按钮,并在单击该按钮时呈现一个模态视图控制器。

我对我的测试项目做了一个非常快速的测试,一些数字是为了测试目的而硬编码的,你可能需要稍微调整一下。

  1. 在标签栏中间添加一个自定义按钮。(将以下代码添加到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];
    }
    
  2. 然后只需在 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 回答