我在AppDelegate didFinishLaunchingWithOptions中使用以下代码更改了UINavigationBar标题的字体:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Arial-BoldMT" size:24.0], UITextAttributeFont, nil]];
在肖像中没关系,但在横向上字体大小太大。 旋转设备后是否可以更改字体大小?
我想我可以使用自定义titleView来解决这个问题,但我想知道是否还有其他选项(没有将大小设置为纵向中的较小数字/通常:))?
我正在为iOS 5开发。
答案 0 :(得分:1)
使用可见视图控制器中的这两种方法之一设置属性,根据设备当前的方向修改代码。视图控制器需要指向UINavigationController变量的指针。
在视图旋转之前调用的方法:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
视图旋转后立即调用的方法:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
有关ViewController方法的更多信息,请访问:
我认为最简单的方法是使用if语句将title属性设置为一种样式(如果设备是verticle),否则设置为另一种样式,因为设备是水平的。