2

当我添加背景图片时,uinavigationbar它会隐藏我的标题uinavigationbar

这是我的代码,

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
       ...
       ...

     [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed: @"BarBg.png"] forBarMetrics:UIBarMetricsDefault];
}

类中的代码:

    int height = self.navigationController.navigationBar.frame.size.height;
    int width = self.navigationController.navigationBar.frame.size.width;

    UILabel *navLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, height)];
    navLabel.text=@"Categories";
    navLabel.backgroundColor = [UIColor clearColor];
    navLabel.textColor = [UIColor whiteColor];
    navLabel.font = [UIFont boldSystemFontOfSize:17];
    navLabel.textAlignment = NSTextAlignmentCenter;
    self.navigationItem.titleView = navLabel;

编写此代码后,我无法在导航栏上看到标题,标题位于导航栏图像后面。

请帮忙,提前谢谢..

4

2 回答 2

2

而不是将标签设置为 titleViewUINavigationBar将其添加UILabel为 NavigationBar 的子视图,如下所示...

[self.navigationController.navigationBar addSubview:navLabel];
[self.navigationController.navigationBar bringSubviewToFront:navLabel];
于 2013-11-06T06:39:54.987 回答
0

如果您只想自定义您的导航栏标题,我建议您使用外观而不是向导航栏添加标签。

     [[UINavigationBar appearance] setTitleTextAttributes:@{
                                 UITextAttributeFont: [UIFont fontWithName:yourFontName size:fontSize],
                                 UITextAttributeTextColor :[UIColor whiteColor],

      }];
于 2013-11-06T06:48:41.673 回答