UINavigationBarのタイトルフォントサイズを変える
同ビューのフォントサイズは視認性を優先してかなり大きめのフォントサイズが使われている。しかし年月日等を他のボタン等と一緒に表示しようと思うと少しフォントサイズを小さくしたいと思うことも多い。
なので変更しようと思ったのだが、対象となるUINavigationController.navigationItemにはUINavigationItem型であり、FontsizeプロパティもFontプロパティも公開されていないため、このままではどうしようも無い。
調べた所タイトルのフォントを変更するにはUINavigationItem.titleViewプロパティでView(UILabel)を置き換えるしかないようだ。
UINavigationItem.titleViewを別なラベルで置き換える(UINavigationController viewDidLoad)
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 400, 44)]; label.backgroundColor = [UIColor clearColor]; label.font = [UIFont boldSystemFontOfSize:17.0]; label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]; label.textAlignment = UITextAlignmentCenter; //iOS6ではdeprecated label.textColor =[UIColor whiteColor]; label.text = @"2012年10月08日"; self.navigationItem.titleView = label;