【问题标题】:Trying to set background and customize title of a nav bar尝试设置背景并自定义导航栏的标题
【发布时间】:2013-08-13 19:58:52
【问题描述】:

我想在UINavigationBar 中同时设置背景图片并更改标题颜色和字体。这是我要自定义其导航栏的视图控制器的 viewDidLoad 方法中的代码:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navBar_background.png"] forBarMetrics:UIBarMetricsDefault];

[[UINavigationBar appearance] setTitleTextAttributes: @{
                            UITextAttributeTextColor: [UIColor greenColor],
                      UITextAttributeTextShadowColor: [UIColor blackColor],
                     UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)],
                                 UITextAttributeFont: [UIFont fontWithName:@"Helvetica" size:20.0f]
 }];

但是,仅设置了背景图像,并且标题保持为默认的白色,带有系统字体。我做错了什么?

提前致谢

【问题讨论】:

    标签: ios text fonts uinavigationbar


    【解决方案1】:

    用于自定义应用中的每个 UINavigationBar 将您的外观代码移至 AppDelegate 的 application:didFinishLaunchingWithOptions: 方法,如下所示:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // Override point for customization after application launch.
    
        [[UINavigationBar appearance] setTitleTextAttributes: @{
                                UITextAttributeTextColor: [UIColor greenColor],
                          UITextAttributeTextShadowColor: [UIColor blackColor],
                         UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)],
                                     UITextAttributeFont: [UIFont fontWithName:@"Helvetica" size:20.0f]
        }];
    
        return YES;
    }
    

    在您的应用中仅自定义一个特定的UINavigationBar 将以下代码放入 ViewController 的 viewDidLoad: 方法中。

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    
        [self.navigationController.navigationBar setTitleTextAttributes:@{
                                           UITextAttributeTextColor: [UIColor greenColor],
                                     UITextAttributeTextShadowColor: [UIColor blackColor],
                                    UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)],
                                                UITextAttributeFont: [UIFont fontWithName:@"Helvetica" size:20.0f]
        }];
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-22
      • 2013-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多