【问题标题】:Is it possible to remove the Tabbar background and box?是否可以删除标签栏背景和框?
【发布时间】:2019-06-10 13:35:15
【问题描述】:


我创建了一个标签栏应用程序,但我想知道是否可以删除背景和框架框的颜色。只是让它空着,用户只能看到选项卡按钮“搜索”和“更多”,就像底部的“snapchat”一样。我尝试将其设为白色,但仍然对用户可见,因为有一个框架并且颜色不同。

【问题讨论】:

    标签: ios swift tabbar


    【解决方案1】:

    将此添加到您应用的 didFinishLaunching 以达到预期效果:

    [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
    [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
    

    或在 Swift 中

    UITabBar.appearance().shadowImage = UIImage()
    UITabBar.appearance().backgroundImage = UIImage()
    

    【讨论】:

      【解决方案2】:

      这应该可以解决问题:

          let tabBarAppearace = UITabBar.appearance()
          tabBarAppearace.tintColor           = UIColor.clearColor()
          tabBarAppearace.shadowImage         = UIImage()
          tabBarAppearace.backgroundImage     = UIImage()
      

      如果您需要根据您正在查看的视图更改它,您可以试试这个:

      static func appearanceWhenContainedInInstancesOfClasses(containerTypes: [AnyObject.Type]) -> Self
      

      查看来自 NSHipster 的 this awesome post,它更深入地解释了它。

      【讨论】:

      • 嘿,非常感谢,看来它工作得很好,只有你能告诉我如何使点击的按钮可见。看我上传的图片,在这种情况下,“搜索”按钮应该是白色的。
      • 我设法用白色解决了这个问题,但我还有另一个问题。我在 AppDelegate 中使用了您的代码,它适用于所有视图控制器,但我如何才能将它仅用于特定的视图控制器。我试图把它放在我需要它的视图控制器中的 viewdDidLoad 中,但什么也没发生。真的可以只申请一个吗?
      • 对不起,我没听懂。我尝试在需要它的视图控制器的 viewDidLoad 中使用它,但是当我测试应用程序时,没有任何改变。它只有在我在 appDelegate 中使用它时才有效,并且它适用于所有视图视图控制器。
      猜你喜欢
      • 2020-06-11
      • 2021-09-30
      • 2015-04-02
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      相关资源
      最近更新 更多