通過更改「[UINavigationBar的外觀]」到「self.navigationController.navigationBar」我能夠進行更改實例本身,然後它得到了第一次加載作爲井
TLDR; UINavigationBar字體不會更改,除非我加載另一個視圖,然後返回到第一個視圖。
嗨
我有一個iOS7項目,我想改變,我已經在嵌入式我的項目UINavigationBar的外觀。
我做了一些研究,我發現,如果我想改變導航欄的字體,我將不得不這樣做的AppDelegate.m和方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
所以我創造了這個代碼在這裏:
- (void)changeAppearanceOfNavigationBar {
// Shadow
NSShadow *shadow = [[NSShadow alloc] init];
// Nagivation bar font
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],
NSForegroundColorAttributeName,
shadow, NSShadowAttributeName,
[UIFont fontWithName:@"HelveticaNeue-Thin" size:25.0],NSFontAttributeName, nil]];
NSLog(@"Font changed");
}
和我打電話從didFinishLaunchingWithOptions
這種方法,所以這個代碼就沒有做的字體任何東西,所以我試圖做的另一種說法。
在我的第一個視圖控制器(主應用程序頁面)我在viewDidLoad中
- (void)viewDidLoad {
NSShadow *shadow = [[NSShadow alloc] init];
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],
NSForegroundColorAttributeName,
shadow, NSShadowAttributeName,
[UIFont fontWithName:@"HelveticaNeue-Thin" size:25.0],NSFontAttributeName, nil]];
self.navigationItem.title = @"TITLEEEE";
}
相同的代碼這裏來我的問題的「最佳」的一部分。 viewDidLoad中的這段代碼並不會在啓動時更改我的UINavigationBar的字體,但是如果我加載另一個視圖並繼續播放,它會更改。
執行從viewDidLoad中在我的主代碼無影響:/ – Stene