2014-01-17 6 views
0

Я использую iOS 7 SDK и Xcode 5. Я хочу установить значки на UITabBarItem. Я использую метод ниже.UIImage не отображается

setFinishedSelectedImage: withFinishedUnselectedImage: 

Он работал до сих пор. Но внезапно он прекратил показывать изображения.

Я попытался ниже различные варианты:

[img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

[tabBarItem setSelectedImage:img]; 
[tabBarItem setImage:img]; 

[[UITabBarItem alloc] initWithTitle:title image:img selectedImage:img]; 

Ни один из них не работает. Здесь img - это изображение, загруженное с URL-адреса.

Затем я попытался использовать одно из изображений в ресурсе приложения, и оно отображалось.

После этого я попытался использовать временный UIImageView с цветом фона на красный и установить img к этому UIImageView, она отображается красным цветом, а img.

Но странная часть заключается в том, что я использую тот же img в других контроллерах, где он отображается правильно.

Любая идея, как решить эту проблему?

+0

Не отображается изображение вообще, или ваше изображение выглядит как белый квадрат. В моем случае панель вкладок использовалась для отображения белого квадрата для значков, которые не соответствовали размерам этой ссылки: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/ IconMatrix.html – zbMax

+0

@zbMax Он вообще не отображается. – Geek

+0

Вы можете добавить код, который вы используете, чтобы скачать ваши изображения? – zbMax

ответ

0

Это была моя ошибка в коде. Мне пришлось инициализировать img примерно на UIImage на декларации. Ниже показано, в чем проблема.

UIImage * img; // Image not initialized 

// This condition was not satisfied and hence `img` was not storing any time. 
if (condition) 
{ 
    img = ...; 
} 

// Below condition should have been satisfied if `img` was not initialized. 
// But it did not. I am not getting why. 
if (!img) 
{ 
    NSLog(@"Image is nil"); 
} 

[tabBarItem setImage:img]; 
Смежные вопросы