【问题标题】:Add a common view for all view controllers in UITabbarController为 UITabbarController 中的所有视图控制器添加一个公共视图
【发布时间】:2016-05-29 00:31:59
【问题描述】:

我正在尝试开发 Apple Music 中的播放栏之类的东西。出现在 UITabbarContoller 的所有视图控制器底部的公共视图。是否有任何想法或最佳实践来实现这一目标?

好吧,我就写下我的个人解决方案

  1. 为通用视图子类化视图控制器。
  2. 将视图控制器附加为标签栏控制器的子视图控制器。

我不太喜欢将视图控制器嵌入标签栏控制器。如果有更好的解决方案,请告诉我。

【问题讨论】:

  • 你能告诉我你从哪里得到这个歌曲列表,即来自哪个 api?
  • @Dh1_Bh1 这只是 Apple Music 的屏幕截图。
  • bunnyshell ,你找到解决办法了吗?如果是,请分享它..我也想这样做
  • @RaviJSS 正如我在问题描述中提到的,我基本上创建了一个playbackBarViewController,使其成为标签栏控制器的子viewController,并将其视图附加到标签栏的视图。您还需要处理播放栏下方视图的偏移量,否则播放栏将与它们的底部重叠。
  • 能否提供示例代码,对我有帮助

标签: ios uiview uitabbarcontroller uitabbar


【解决方案1】:

您可以将该视图作为子视图添加到窗口

 [self.window addSubview:vw];

带有标签

 vw.tag = 10000;

这样您就可以在整个应用中看到该视图

【讨论】:

  • 我真的不想在整个应用程序中看到它。仅适用于 uitabbarcontroller 中的视图控制器。对于以模态方式呈现的类似视图,不应看到该视图。
  • 你可以用 UIView 隐藏 vw=(UIView)[window viewWithTag:1000]; vw.hidden=YES;
【解决方案2】:

这对我有用 使用 segue 从一个页面转到另一个页面,而不是使用导航控制器。

 - (IBAction)YourButton:(id)sender
   {
       [self performSegueWithIdentifier:@"segueIdentifier" sender:self];
   } 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
  {
      if ([segue.identifier isEqualToString:@"segueSearchList"])
      {
           // Do what you want to do
      }

   }

通过这样做,您的标签栏将看起来像在第一页中一样

【讨论】:

    【解决方案3】:

    有一个 ParentViewontroller 类,它的底部有标签栏,并将这个类继承给需要标签栏并处理事情的视图控制器。

    【讨论】:

      【解决方案4】:

      您可以为您的视图或从 UIView 继承的类创建 xib,并将其添加到您想要的任何控制器中。

      【讨论】:

        【解决方案5】:

        UITabBar 具有 UINavigationController,它具有所有单独的 UIViewControllers。如果您希望在每个选项卡中都使用此视图,那么最好的方法是将其添加到 UINavigationControllers 视图的顶部。它会出现在UINavigationController 中的任何内容之上。

        【讨论】:

        • 如何访问您所说的UINavigationController
        • [self.navigationcontroller.view addSubview:yourView]
        • 好吧,不能保证有一个UINavigationController... UIViewControllernavigationcontroller 属性指的是视图控制器嵌入的可能导航控制器。跨度>
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-06
        • 2016-10-01
        相关资源
        最近更新 更多