Ios5 UIx27;s setTitleTextAttributes会导致故事板中的UINavigationBar标题集在iOS 6中显示为省略标题,但在iOS 5中不显示
我一直在使用我认为是相当标准的iOS 5代码(这是一种堆栈溢出代码),以便使用自定义字体显示我的UINavigationBar标题。] 但我发现,当我为iOS5构建的应用程序(可以在iOS5和iOS6设备上运行)在iOS6模拟器上运行时,它会省去我的标题 以下是在iOS 5.1模拟器上运行的相同代码 为清楚起见,以下是在我尝试在iOS 6上运行之前一直有效的相关代码Ios5 UIx27;s setTitleTextAttributes会导致故事板中的UINavigationBar标题集在iOS 6中显示为省略标题,但在iOS 5中不显示,ios5,uinavigationbar,ios6,uifont,uiappearance,Ios5,Uinavigationbar,Ios6,Uifont,Uiappearance,我一直在使用我认为是相当标准的iOS 5代码(这是一种堆栈溢出代码),以便使用自定义字体显示我的UINavigationBar标题。] 但我发现,当我为iOS5构建的应用程序(可以在iOS5和iOS6设备上运行)在iOS6模拟器上运行时,它会省去我的标题 以下是在iOS 5.1模拟器上运行的相同代码 为清楚起见,以下是在我尝试在iOS 6上运行之前一直有效的相关代码 #define COURIER_FONT_BOLD @"CourierNewPS-BoldMT" - (UIFont*)na
#define COURIER_FONT_BOLD @"CourierNewPS-BoldMT"
- (UIFont*)navigationBarTitleFontPortrait
{
if (!_navigationBarTitleFontPortrait)
_navigationBarTitleFontPortrait = [UIFont fontWithName:COURIER_FONT_BOLD size:24.0];
return _navigationBarTitleFontPortrait;
}
// …
if ([[UINavigationBar class] respondsToSelector:@selector(appearance)])
{
NSDictionary* attrs = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor lightGrayColor],
UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(1, 0)],
UITextAttributeTextShadowOffset,
navigationBarTitleFontPortrait,
UITextAttributeFont,
nil];
[[UINavigationBar appearance] setTitleTextAttributes:attrs];
}
我发现了两种解决上述问题的方法:
viewDidLoad
中,
调用self.navigationItem.title=@“网格”[self.navigationController.navigationBar
setNeedsLayout]
我不知道为什么iOS 5和iOS 6之间的这种行为不同,但这允许它在两种情况下都工作。我发现了两种解决上述问题的方法:
viewDidLoad
中,
调用self.navigationItem.title=@“网格”[self.navigationController.navigationBar
setNeedsLayout]