ios - 显示来自 UITabBar 的 View

标签 ios objective-c uitabbar presentviewcontroller

我正在尝试创建一个 picker当一个 button 输入东西在 UITabBar被按下。如果您查看 tumblrs iphone 应用程序,您就会明白我的意思。我假设他们正在展示 UIView无论如何viewcontroller用户当前处于开启状态。我该怎么做?

enter image description here

最佳答案

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

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

  • 在标签栏中间添加一个自定义按钮。 (将以下代码添加到第一个 View Controller 的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 函数中显示您的目标 View Controller
    - (void)centerButtonClicked
    {
       UIViewController *vc = [[UIViewController alloc]init];
       vc.view.backgroundColor = [UIColor redColor];
       [self presentViewController:vc animated:YES completion:nil];
    }
    

  • 这只是我做了一个 10 分钟的测试,应该是这样的:

    enter image description here

    也许您需要注意以下几点:
  • 实现自己的代码时更改硬编码中心点,
  • 甚至更好的是,您可以使用该中心按钮创建一个自定义 tabBar,并为该按钮单击功能设置一个委托(delegate)方法。因此,每次当您从不同的 View Controller 单击该按钮时,它都会有不同的行为。

  • 希望这能让您对如何实现这一目标有一些粗略的了解。

    关于ios - 显示来自 UITabBar 的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21836065/

    相关文章:

    ios - 集成适用于 iOS 的 PubNub WebRTC SDK

    objective-c - 在 iOS 应用程序中编写 C 代码时出现 EXC BAD ACCESS

    swift - 无法在 tvOS 中获得透明的标签栏

    ios - 如何获取 NSOperationQueue 的完成 block

    ios - 将位置数组保存到 NSUserDefaults

    iphone - 我如何判断 UITableView 是否包含特定的 NSIndexPath?

    iphone - 是否可以将动画插入到切换 View 时显示的 UITabBarController 中?

    ios - 从tableview单元格更新文本并刷新后关闭键盘

    iOS faSTLane 传递元数据

    swift - UITabBarController 始终在 UIViewController 顶部打开页面