【问题标题】:iOS 7, navigation bar has no translucency... why does More tab look translucent?iOS 7,导航栏没有半透明... 为什么更多标签看起来是半透明的?
【发布时间】:2013-09-25 19:50:18
【问题描述】:

我们的品牌推广方法让我们在 iOS 7 的导航和标签栏中禁用半透明属性。

使用标签栏控制器,所有标签的半透明都关闭,除非我们单击“更多”。如果我们选择“更多”列表中的选项之一,然后返回,则半透明消失(正确)。更改标签是正确的。

当我们第一次进入“更多”时,我们希望不应用半透明效果。

复制步骤: 1.标签栏控制器有超过5个标签。 2. 将半透明设置为 NO。 3.运行应用程序时更换水龙头。请注意,在选择其中一项之前,“更多”选项卡是不正确的。

预期结果: 所有选项卡的顶部栏应相似,即未应用半透明效果。

实际结果: 对于“更多”选项卡,虽然我们将其关闭,但仍会应用半透明效果。

我们如何关闭“更多”标签的半透明?

【问题讨论】:

标签: ios ios7


【解决方案1】:

您是在谈论“更多”标题和“编辑”按钮存在的更多视图控制器的导航栏吗?您可以获取对它的引用并将半透明属性单独设置为 NO:

UINavigationController *navBarController = self.tabBarController.moreNavigationController;
navBarController.navigationBar.translucent = NO;

【讨论】:

  • 谢谢@Ryan。我并没有停下来思考“更多”是一个导航控制器,并且还需要设置。
  • 这不是每次都有效。一旦我选择了一个项目,它就会继续看起来不错,但第一次看起来并不正确。如果我卸载该应用程序,问题又回来了。查看调试器,变量设置正确,但看起来是半透明的。
  • 我接受这个答案。我一度取消了接受,但我相信这是正确的答案。我们观察到,当我们在 TabBarController 的 viewDidLoad 中使用它时,它并不总是有效。我们是动态添加标签的,所以一旦我们在添加标签后将此代码移动到,那么我认为它会再次正常工作。
【解决方案2】:

我认为您可以根据您的情况(UIStatusBarStyleDefault、UIStatusBarStyleLightContent 等)使用、更改 statusBarStyle,如下所示:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

然后你应该调用这个方法进行刷新。

[self setNeedsStatusBarAppearanceUpdate];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    相关资源
    最近更新 更多