2012-05-29 46 views
2

我改变了UINavigationBar的标题的字体用下面的代码,在AppDelegate的didFinishLaunchingWithOptions:UINavigationBar的:更改标题的大小后旋转

[[UINavigationBar appearance] setTitleTextAttributes: 
    [NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Arial-BoldMT" size:24.0], UITextAttributeFont, nil]]; 

在肖像它是好的,但在景观的字体大小是太大。 旋转设备后是否有可能更改字体大小?

我想我可以用自定义titleView解决这个问题,但我想知道是否有另一个选项(没有将大小设置为肖像/一般情况下的较小数字:))?

我正在开发的iOS 5

回答

1

使用可见光视图控制器这两种方法之一取决于设备当前处于什么方位修改代码设置你的属性。您的视图控制器需要一个指针到UINavigationController变量。

视图之前右称为

方法旋转: 视图后立即叫- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

方法旋转:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

上的ViewController方法的详细信息可以在这里找到:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html

我会认为完成这个最简单的方法是if语句,如果设备是垂直的,则将标题属性设置为一种样式,否则设置为另一种样式,因为设备是水平的。