我可以改變我的UINavigationController的字體? - >標題更改字體
更改字體
回答
標題視圖可以是任何圖。因此,只需創建一個UILabel或更改字體並將該新視圖分配給導航項目的title屬性的其他內容。
一個例子:
-(void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
CGRect frame = CGRectMake(0, 0, 400, 44);
UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [FontHelper fontFor:FontTargetForNavigationHeadings];
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor whiteColor];
label.text = self.navigationItem.title;
// emboss in the same way as the native title
[label setShadowColor:[UIColor darkGrayColor]];
[label setShadowOffset:CGSizeMake(0, -0.5)];
self.navigationItem.titleView = label;
}
作爲iOS 5中的可以經由代理外觀改變字體。
https://developer.apple.com/documentation/uikit/uiappearance
下面我們來設置所有UINavigationControllers標題字體。
NSMutableDictionary *titleBarAttributes = [NSMutableDictionary dictionaryWithDictionary: [[UINavigationBar appearance] titleTextAttributes]];
[titleBarAttributes setValue:[UIFont fontWithName:@"Didot" size:16] forKey:NSFontAttributeName];
[[UINavigationBar appearance] setTitleTextAttributes:titleBarAttributes];
要設置後退按鈕的字體,這樣做:
NSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithDictionary: [[UIBarButtonItem appearance] titleTextAttributesForState:UIControlStateNormal]];
[attributes setValue:[UIFont fontWithName:@"Didot" size:12] forKey:NSFontAttributeName];
[[UIBarButtonItem appearance] setTitleTextAttributes:attributes forState:UIControlStateNormal];
iOS 7棄用了鍵值:UITextAttributeFont(讀取,不用這個)現在使用鍵:NSFontAttributeName來代替。工程奇蹟,使我的應用程序看起來好多了。謝謝! – 2013-10-03 16:30:04
在每個單獨的視圖控制器中,您還可以在當前導航欄的實例上設置標題文本屬性以自定義其外觀,如下面的代碼片段所示:[self.navigationController.navigationBar setTitleTextAttributes:@ {NSFontAttributeName:[UIFont fontWithName:@「帕拉提諾-粗體」尺寸:28],NSForegroundColorAttributeName:的UIColor whiteColor]}]; – CodePlumber 2015-03-21 16:53:23
爲iOS8上的+,你可以使用:
[self.navigationController.navigationBar setTitleTextAttributes:@{ NSFontAttributeName: [UIFont fontWithName:@"MyFont" size:18.0f],
NSForegroundColorAttributeName: [UIColor whiteColor]
}];
從@morgancodes答案將設置所有的字體UINavigationController
標題。我已經更新了它的雨燕4:
let attributes = [NSAttributedStringKey.font: UIFont(name: "Menlo", size: 14) as Any]
UINavigationBar.appearance().titleTextAttributes = attributes
UIBarButtonItem.appearance().setTitleTextAttributes(attributes, for: .normal)
- 1. 更改字體
- 2. 更改字體UIBarButtonItem
- 3. 更改TextView字體?
- 4. 更改MathJax字體?
- 5. UINavigationBar更改字體
- 6. 更改字體2013
- 7. TextView字體更改
- 8. 更改ListView字體
- 9. UITableViewActionRow更改字體
- 10. Android字體更改
- 11. MessageBox.Show--字體更改?
- 12. 字體和字體大小更改
- 13. android spinner更改字體字體
- 14. 更改Div字體大小和字體
- 15. 更改`ListPreference`概要的字體字體
- 16. Android更改ListView字體
- 17. DevExpress和C#字體更改
- 18. 更改字體樣式
- 19. 更改PagerSlidingTab條的字體?
- 20. 更改字體樣式
- 21. 從JComboBox更改Graphics2D字體
- 22. 更改字體重量
- 23. UILabel動畫更改字體
- 24. 不能更改NSButton字體
- 25. 更改鍵盤的字體
- 26. 如何更改gridview字體?
- 27. 更改導航欄字體
- 28. 更改Highcharts字體大小
- 29. 更改Mvx.MvxGridView的字體?
- 30. 角料和更改字體
這是一個偉大的想法,但我現在有一個問題,.. 當我加我的UILabel我對UINavigationController的控件(如Add按鈕)不再可見,.. * HM * – 2010-10-30 18:11:14
我固定它,用自己..對不起一個missunderstood;) – 2010-10-30 18:18:15
如果這解決了問題,不要忘記接受的答案 – Erik 2010-10-31 17:15:19