5

iOS 6 でナビゲーション バットの色合いを変更する方法を知っています。

[UINavigationBar appearance].tintColor = [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0];

このコードを APPDelegate ページに追加しています。これを iOS 7 で実行したいのですが、上記のコードが機能しません。ネットで検索しました。私は解決策を得ました。以下の機能をすべてのページに追加することで、ナビゲーションの色を変更できます。

self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0];

しかし、APPDelegate 関数に追加できる関数が必要です。この問題を克服するために私を助けてください。

4

5 に答える 5

14

setBarTintColor外観プロキシに使用しない理由は、次のとおりです。

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) 
{
    [[UINavigationBar appearance] setTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]];
}
else
{
    [[UINavigationBar appearance] setBarTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]];
}
于 2013-11-11T07:34:48.250 に答える
7

appdelegate.m に以下のコードを追加できます

  if your app is navigation based

 // for background color
  [nav.navigationBar setBarTintColor:[UIColor blueColor]];

 // for change navigation title and button color
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary    dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName,  [UIFont fontWithName:@"FontNAme" size:20], NSFontAttributeName, nil]];

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
于 2014-02-12T11:21:09.967 に答える
2

バージョンチェックに RespondsToSelector を使用する方が良い場合があります。

if ([self.navigationBar respondsToSelector:@selector(setBarTintColor:)]) {
    [self.navigationBar setBarTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]];
 } else {
    [self.navigationBar setTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]];
 }
于 2014-03-03T03:02:48.177 に答える
0

Swift では、電子メールがポップアップ表示されたときに、[キャンセル] ボタンと [送信] ボタンの色合いを変更したいと考えていました。そして、それはうまくいきました。

(UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self])).tintColor = UIColor.whiteColor()
于 2016-08-27T17:16:54.587 に答える
-1

[self.navigationController.navigationBar setTranslucent:NO] を試してください。

于 2014-04-24T08:31:21.807 に答える