我在AppDelegate didFinishLaunchingWithOptions中使用以下代码更改了UINavigationBar标题的字体:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Arial-BoldMT" size:24.0], UITextAttributeFont, nil]];
纵向可以,但是在横向字体太大。
旋转设备后是否可以更改字体大小?
我想我可以使用自定义的titleView解决此问题,但是我想知道是否还有其他选择(没有在纵向/一般情况下将尺寸设置为较小的数字:))?
我正在为iOS 5开发。
最佳答案
使用可见视图控制器中的这两种方法之一来设置属性,以根据设备当前所处的方向来修改代码。视图控制器将需要一个指向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语句,如果设备是verticle,则将title属性设置为一种样式,否则将其设置为另一种样式,因为设备是水平的。
关于iphone - UINavigationBar:旋转后更改标题大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10806960/