dar*_*sky 0 iphone objective-c uinavigationbar uinavigationcontroller uiappearance
我正在使用iOS 5 UINavigationBar的UIAppearance协议来自定义我的所有导航栏.
这是我的自定义功能:
- (void)customizeApperance
{
[[UINavigationBar appearance] setTintColor:[UIColor clearColor]];
[[UINavigationBar appearance] setAlpha:0.7];
UIImageView *titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"title.png"]];
[[UINavigationBar appearance] setTitleView:titleView];
}
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
首先是颜色不是clearColor黑色.有什么建议?
标题视图根本没有出现.Ray Wenderlich通过添加:[[rootViewController navigationItem] setTitleView: [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"miniLogo.png"]]]in 来演示如何做到这一点applicationDidFinishLaunching.但问题是标题视图只会添加到根视图控制器中.我正在使用一个UINavigationController当我厌倦了替换rootViewControllerwith navigationController(我在AppDelegate中的导航控制器的名称)时,我根本看不到标题视图.我该如何解决这个问题?为什么不工作customizeApperance()?使用外观的关键不仅仅是创建一次标题视图(就像我在函数上面所做的那样)并且在所有导航栏中都是全局的吗?我怎样才能做到这一点?
[UIColor clearColor]是完全透明的颜色(alpha = 0).将其设置为浅色可使(黑色)背景闪耀.也许你想要[UIColor whiteColor]?
titleView是一个属性UINavigationItem,每个视图控制器都有自己的属性navigationItem.因此,您无法全局设置标题视图.但您可以UINavigationBar使用外观协议设置背景图像,这可能有助于:
[[UINavigationBar appearance] setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10861 次 |
| 最近记录: |