1

在导航控制器内,我有一个只有地图的视图。

导航栏是半透明的,因此可以通过它稍微看到地图。

这适用于将导航栏色调设置为默认值,但是一旦我将栏色调更改为特定颜色,导航栏背景就会完全透明。

有趣的是,这个问题不会发生在模拟器中,只会发生在实际的 iPhone 上(4(不是 S),以防万一)。

我还没有添加任何代码——我放在一起的所有东西都是纯粹在 Interface Builder 中生成的。

有谁知道这里可能发生了什么以及我可能做错了什么?或者这是我需要向 Apple 报告的错误?

4

1 回答 1

1

您需要将栏的半透明属性设置为 true。来自 UINavigationBar 的 Apple 文档:

barTintColor

The tint color to apply to the navigation bar background.
This color is made translucent by default unless you set the translucent property to NO.

当您在 UINavigationBar 上设置色调颜色时,它会将半透明设置为 false。不幸的是,不能在外观代理上设置半透明。您需要在所有 viewWillAppear: 方法中添加 self.navigationController.navigationBar.translucent = YES (或创建您自己的更改默认值的子类)

于 2013-10-17T23:23:17.977 回答