2013-10-06 3 views
0

В моем приложении есть контроллер вида с контроллером навигации сверху. Заголовок навигационной панели - «Забыли пароль». Это название было показано без разрывов строк в iOS 5 и 6. Однако, когда я запускаю одно и то же приложение в iOS 7, заголовок панели навигации отображается с точками в конце - «Забыл пароль» ... Единственный способ исправить этот дефект - для уменьшения размера заголовка навигационной панели.Как уменьшить размер шрифта заголовка панели навигации в iOS 7

Может ли кто-нибудь сказать мне, как мне это сделать? Существуют ли какие-либо API-интерфейсы в iOS 7 исключительно для этой цели. Можно ли уменьшить размер шрифта заголовка панели навигации только для этого контроллера просмотра? Любые предложения приветствуются. Заранее спасибо.

+2

попробовать этот http://stackoverflow.com/questions/9621455/navigation-bar-title-font-size – DogCoffee

ответ

7
UILabel *nav_titlelbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, self.navigationItem.titleView.frame.size.width,40)]; 
[email protected]"Tests"; 

nav_titlelbl.textAlignment=NSTextAlignmentCenter; 

UIFont *lblfont=[UIFont fontWithName:@"FontinSansCR-Bold" size:20]; 
[nav_titlelbl setFont:lblfont]; 
self.navigationItem.titleView=nav_titlelbl; 
+0

Спасибо большое! Это сработало. –

1

Ниже приведен код, который я использую в своем собственном проекте (IOS 7)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    // set the title text property, color, font, size and so on 
    NSShadow *shadow = [[NSShadow alloc] init]; 
    shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8]; 
    shadow.shadowOffset = CGSizeMake(0, 1); 
    [[UINavigationBar appearance] setTitleTextAttributes: 
      [NSDictionary dictionaryWithObjectsAndKeys: 
      [UIColor WhiteColor],NSForegroundColorAttributeName, 
      shadow, NSShadowAttributeName, 
      [UIFont fontWithName:@"your font" size:21.0], NSFontAttributeName, nil]]; 

    return YES; 
} 
2

Я использовал следующий код в моем проекте и его работу для меня:

/* ios 7 Change */ 
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) 
    { 
     //self.edgesForExtendedLayout = UIRectEdgeNone; 
     //self.automaticallyAdjustsScrollViewInsets = NO; 
     [[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x4B678B)]; 
     NSShadow *shadow = [[NSShadow alloc] init]; 
     shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8]; 
     shadow.shadowOffset = CGSizeMake(0, 1); 
     [[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys: 
                   [UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForegroundColorAttributeName, 
                   shadow, NSShadowAttributeName, 
                   [UIFont fontWithName:@"Helvetica Neue" size:21.0], NSFontAttributeName, nil]]; 
     // self.navigationController.navigationBar.barTintColor = [UIColor blueColor]; 
     //[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
     [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 

    } 
0

Начиная с iOS7, мне всегда нравятся следующие данные:

[[UINavigationBar appearance] setTitleTextAttributes: 
    [NSDictionary dictionaryWithObjectsAndKeys: 
     [UIFont fontWithName:@"Helvetica-Bold" size:SIZE_YOU_LIKE],NSFontAttributeName, 
     nil]]; 

T he Ключевое слово UITextAttributeFont было подавлено от iOS7, вы должны были заменить NSFontAttributeName.

Просто установите SIZE_YOU_LIKE значение вам нравится ~

Смежные вопросы