亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

iPhone導航欄標題文字顏色

iPhone導航欄標題文字顏色

森欄 2019-08-14 16:54:31
iPhone導航欄標題文字顏色默認情況下,iOS導航欄標題顏色似乎是白色。有沒有辦法將其改為不同的顏色?我知道navigationItem.titleView使用圖像的方法。由于我的設計技巧有限,而且我沒有獲得標準光面,我更喜歡更改文字顏色。任何見解都會非常感激。
查看完整描述

3 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

現代的方法

現代方式,對于整個導航控制器......在加載導航控制器的根視圖時執行此操作一次。

[self.navigationController.navigationBar setTitleTextAttributes:
   @{NSForegroundColorAttributeName:[UIColor yellowColor]}];

但是,這似乎對后續視圖沒有影響。

經典的方法

舊的方式,每個視圖控制器(這些常量適用于iOS 6,但如果想在iOS 7外觀上按照視圖控制器進行操作,您將需要相同的方法但具有不同的常量):

您需要使用一個UILabel作為titleViewnavigationItem。

標簽應該:

  • 有明確的背景顏色(label.backgroundColor = [UIColor clearColor])。

  • 使用粗體20pt系統字體(label.font = [UIFont boldSystemFontOfSize: 20.0f])。

  • 有50%alpha(label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5])的黑色陰影。

  • 您還需要將文本對齊設置為居中(label.textAlignment = NSTextAlignmentCenterUITextAlignmentCenter對于較舊的SDK)。

將標簽文本顏色設置為您想要的任何自定義顏色。您確實需要一種不會導致文本混合成陰影的顏色,這種顏色難以閱讀。

我通過反復試驗解決了這個問題,但我想出的價值最終太簡單了,以至于他們不能成為蘋果選擇的。:)

如果你想驗證這一點,放棄這一代碼到initWithNibName:bundle:PageThreeViewController.m蘋果的NavBar樣品。這將用黃色標簽替換文本。除了顏色之外,這應該與Apple代碼生成的原始文件無法區分。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self)
    {
        // this will appear as the title in the navigation bar
        UILabel *label = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
        label.backgroundColor = [UIColor clearColor];
        label.font = [UIFont boldSystemFontOfSize:20.0];
        label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
        label.textAlignment = NSTextAlignmentCenter;
                           // ^-Use UITextAlignmentCenter for older SDKs.
        label.textColor = [UIColor yellowColor]; // change this color
        self.navigationItem.titleView = label;
        label.text = NSLocalizedString(@"PageThreeTitle", @"");
        [label sizeToFit];
    }

    return self;}

編輯:另外,閱讀Erik B的答案如下。我的代碼顯示了效果,但是他的代碼提供了一種更簡單的方法來將其放在現有視圖控制器上。


查看完整回答
反對 回復 2019-08-14
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

我知道這是一個非常古老的線程,但我認為知道新用戶iOS 5帶來了一個用于建立標題屬性的新屬性會很有用。

您可以使用UINavigationBar setTitleTextAttributes來設置字體,顏色,偏移和陰影顏色。

此外,您可以為UINavigationBars整個應用程序中的所有設置相同的默認UINavigationBar標題文本屬性。

例如:

NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                            [UIColor whiteColor],UITextAttributeTextColor, 
                                            [UIColor blackColor], UITextAttributeTextShadowColor, 
                                            [NSValue valueWithUIOffset:UIOffsetMake(-1, 0)], UITextAttributeTextShadowOffset, nil];[[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes];


查看完整回答
反對 回復 2019-08-14
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

在iOS 5中,您可以通過以下方式更改navigationBar標題顏色:

navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor yellowColor]};


查看完整回答
反對 回復 2019-08-14
  • 3 回答
  • 0 關注
  • 1021 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號