2013-05-23 6 views
2

Я использую этот код в приложение delegate.m:Как установить пользовательские фоновое изображение для навигационной панели конкретного зрения

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions { 
    // Rename "specialNavBar.png" to the file name of your specific navigation bar background image. 
    UIImage *special = [UIImage imageNamed:@"movBar.png"]; 

    // Rename "SpecialViewController" to the class name that you want to have a different navigation bar for. 
    [[UINavigationBar appearanceWhenContainedIn:[MovableViewController class], nil] setBackgroundImage:special 
                        forBarMetrics:UIBarMetricsDefault]; 

// Override point for customization after application launch. 
return YES; 

}

АРР сбой и дает мне эту ошибку сообщение:

Нагрузочного приложение из-за неперехваченное исключение 'NSUnknownKeyException', причина: "[<MovableViewController 0xa17eb90> setValue:forUndefinedKey:]: этот класс не соответствует ключевому значению для ключа navBar. ' * Первый стек бросить вызов: (0x1d11012 0x11f3e7e 0x1d99fb1 0xc9fe41 0xc215f8 0xc210e7 0xc4bb58 0x355019 0x1207663 0x1d0c45a 0x353b1c 0x2187e7 0x218dc8 0x218ff8 0x219232 0x1683d5 0x16876f 0x168905 0x171917 0x13596c 0x13694b 0x147cb5 0x148beb 0x13a698 0x1f4adf9 0x1f4aad0 0x1c86bf5 0x1c86962 0x1cb7bb6 0x1cb6f44 0x1cb6e1b 0x13617a 0x137ffc 0x276d 0x2695) Libc + + abi.dylib: оконечный называется бросая исключение

+0

У вас есть xib для вашего movableViewController, и если да, подключается ли он к старой розетке с именем navBar, которая может быть переименована или удалена в вашем классе? (или в вашем раскадровке ... Я забыл, я стараюсь не использовать бета-версию Apple) –

ответ

3

Вы можете добавить собственное изображение в панель навигации, как это.

_window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
UIImage *special = [UIImage imageNamed:@"movBar.png"]; 
[_window.rootViewController.navigationController.navigationBar setBackgroundImage:special forBarMetrics:UIBarMetricsDefault]; 
0

вызов -setBackgroundImage: на вашем UINavigationBar в контроллере представления, где вы хотите, чтобы изменить его фон. Затем, в методе -viewWillDisappear:, установите его обратно к исходному изображению.