1

iOS アプリ用のカスタム テーマがあり、iOS 6 では希望どおりに表示されます。しかし、iOS 7 では、OS が自動的に背景 (およびボタンとして使用する画像) 自体を暗くするため、見た目が異なります。

したがって、カスタム イメージと次のコードを含むバー ボタン アイテムがあります。

UIImage *navbarButton = [[UIImage imageNamed:@"navbar_button"]
                         resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)];
UIImage *navbarButtonHighlight = [[UIImage imageNamed:@"navbar_button_highlight"]
                                  resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)];
[[UIBarButtonItem appearance] setBackgroundImage:navbarButton
                                        forState:UIControlStateNormal
                                      barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:navbarButtonHighlight
                                        forState:UIControlStateHighlighted
                                      barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:navbarButtonHighlight
                                        forState:UIControlStateSelected
                                      barMetrics:UIBarMetricsDefault];

私は何を間違っていますか/忘れていますか?

4

2 に答える 2

1
if([Utilities iOSVersion] >= 7){

    [self.navigationController.navigationBar setBarTintColor:[UIColor whateverColorYouWant]];

    [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];

    //translucent is key

    self.navigationController.navigationBar.translucent = NO;
}


/**
 * @return this device OS version
 */
+(int)iOSVersion{

   NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];

   return [[ver objectAtIndex:0]intValue];
}
于 2013-09-30T17:56:58.837 に答える
0

[[UINavigationBar の外観] setTintColor:[UIColor whiteColor]] を実行してみてください。私は同様の問題を抱えていましたが、これで軽くなりました。

于 2013-09-22T11:16:00.170 に答える