2009-12-20 2 views
2

В приложении для iPhone у меня есть UITabBar с тремя вкладками. У одного есть системный образ, еще два - пользовательские изображения. Это PNG, 30x30, основанные на палитре, в основном прозрачные. Эти изображения хорошо видны в симуляторе, но на устройстве все, что я вижу, представляет собой серый градиентный квадрат на вкладке. Формы на этих изображениях являются серыми для начала, но они проявляются, как ожидалось, на симуляторе.UITabBar изображения, видимые на симуляторе, исчезают на устройстве

Любые идеи, пожалуйста?

ответ

3

Изображение должно быть белым на прозрачном. Он находится в руководстве по дизайну интерфейса. В моем случае он был прозрачным. Симулятор прощает, что устройства нет.

2

Устройство само по себе является более четким форматом изображения, чем симулятор. У меня было несколько случаев, когда все проявилось в симуляторе и не было телефона. То, что всегда работало для меня, - это кодировать все мои PNG как 24-битные PNG-24 (в Photoshop) - для значков и т. П. Увеличенный размер файла тривиален, и он решает мои проблемы с отсутствием изображений.

+0

Для записи, iPhone симулятор официально сосет. Эмулятор Microsoft Device бьет его в любой день. И это мое экспертное мнение, а не пламенная приманка. –

+0

Слишком плохо, что вам нужно закодировать для Windows Mobile (* shudder *), чтобы использовать его;) –

+1

Кодирование WM намного лучше, чем на самом деле. –

2

Примерно через 3 часа я заметил, что это не так очевидно ... имя файла обрабатывается с помощью правил, чувствительных к регистру на устройстве, но не в симуляторе XCode (с XCode 4.6).

Например:

Если фактическое имя файла (ресурс) «first.png», то следующие потребности иметь место в вашем коде ---

// ДЕЛАЙТЕ ЭТОГО self.tabBarItem .image = [UIImage imageNamed: @ "first.png"];

// NOT THIS self.tabBarItem.image = [UIImage imageNamed: @ "First.png"];

Посмотрите на это прежде, чем изменить свой код.