- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
        {      
            [[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:230.0f/255.0f green:200.0f/255.0f blue:160.0f/255.0f alpha:1.0f]];
            >>EXC_BAD_ACCESS
            [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBarBackground"] forBarMetrics:UIBarMetricsDefault];
            // Override point for customization after application launch.
            return YES;
        }

В didFinishLaunchingWithOptions я делаю простой код, который отлично работает в iOS 7.1, но не работает в 7.0

Ошибка: CGImageProviderCreate: недопустимый размер поставщика изображения: 128 x 0.

Ошибка: CGImageCreate: недопустимый размер изображения: 128 x 0. Невозможно создать изображение из данных растрового изображения csi.

NavBarBackground, расположенный в Media.xcassets. Я использую Xcode 5.1

Есть идеи, как это исправить?

4
R00We 8 Май 2014 в 13:55

2 ответа

Лучший ответ

Я решил проблему. На этом изображении в Media.xcassets вы должны установить сечение не менее 1 пикселя. введите описание изображения здесь

10
R00We 12 Май 2014 в 03:14

Если вы хотите тонировать UINavigationBar, вы должны использовать setBarTintColor:

[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:230.0f/255.0f green:200.0f/255.0f blue:160.0f/255.0f alpha:1.0f]];

Изменить:

Фоновое изображение для UINavigationBar должно иметь размер 320x64 пикселей и быть PNG.

0
Leandros 8 Май 2014 в 16:25