2015-09-09 2 views
0

Я создал CommonMethod подкласс NSObject для настройки UINavigationBar здесь являются файлы CommonMethod.h и CommonMethod.mКак настроить навигацию по цвету, вызвав метод?

CommonMethod.h

#import <UIKit/UIKit.h> 
#import <Foundation/Foundation.h> 
@interface CommonMethods : NSObject 
+(void)setNavBackButton:(id)viewController; 
+(void)setNavBackground:(id)viewController Color:(UIColor *)color; 
@end 

CommonMethod.h

#import <UIKit/UIKit.h> 
#import "CommonMethods.h" 
@implementation CommonMethods 
+(void)setNavBackground:(id)viewController Color:(UIColor *)color 
{ 
    UIViewController *controller = (id)viewController; 
    controller.navigationController.navigationBar.backgroundColor=[UIColor redColor]; 
} 
@end 

Теперь, когда я звоню [CommonMethods setNavBackground:self Color:[UIColor redColor];, он выполняет этот метод, но ничего не изменил в пользовательском интерфейсе. Может ли кто-нибудь превзойти это, чего мне не хватает?

Edit:

Я также попытался controller.navigationController.navigationBar.barTintColor = color;

+0

Где вы звоните этому методу? –

+0

как только контроллер.navigationController.navigationBar.barTintColor = [UIColor redColor] –

+0

@srinivasn Я назвал этот метод в viewdidload и да, я также попробовал 'controller.navigationController.navigationBar.barTintColor = [UIColor redColor]' –

ответ

1

У вас есть небольшая ошибка в кодексе

+(void)setNavBackground:(id)viewController Color:(UIColor *)color 
{ 
    UIViewController *controller = (id)viewController; 
    controller.navigationController.navigationBar.barTintColor = color; // Change NavigationBar color to Red 
} 

Метод вызова, как это: [CommonMethod setNavBackground: сам Цвет: [UIColor redColor]];

enter image description here

+0

Я уже сказал в комментариях, что я пробовал это также –

+0

@VarunNaharia, можете ли вы рассказать мне, что вы можете просто изменить цвет панели навигации? если да, то это хорошо работает на моей стороне. –

+0

нет это не работает –

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