Подтвердить что ты не робот

IOS 5.1 с Xcode 4.3.1: [UIColor colorWithPatternImage:] странное поведение только на устройстве

Когда я компилирую свое приложение в Xcode 4.3.1 с iOS 5.1, я замечаю, что странное поведение с фоновой текстурой происходит только на самом устройстве. Между фрагментами текстур, показанными на скриншоте ниже, есть 1px.

Моя текстура 150x150 и 300x300 в 2x.

До сих пор я тестировал одну и ту же сборку:

  • Симулятор iPhone/iPad как 5.0/5.1: Нет ошибки
  • iPhone/iPad работает 5.0.1: Нет ошибок
  • iPhone/iPad работает 5.1: Багги

Compare side by side screenshots

4b9b3361

Ответ 1

Я тоже получаю ту же проблему с 5.1. Я решил это, выполнив следующие действия с изображением в Photoshop. Возможно, вы можете сделать то же самое в другом инструменте.

  • Загрузите файл, выберите все и скопируйте в буфер обмена

  • Создайте новый файл в фотошопе с тем же размером, RGB и глубиной 8 бит с разрешением 72 пикселя в дюйм на белом фоне.

  • Вставьте изображение, которое вы скопировали на шаге 1, в это изображение

  • Сохраните файл и используйте его.

После этого файл отображается правильно на устройстве, и мне не приходилось прибегать к созданию изображений с размером дисплея.

Ответ 2

Мое обходное решение: Установите "Сжать файлы PNG" в "Нет" в настройках сборки. В моем случае размер пакета приложений был даже меньше, чем при включенном сжатии. Я сам оптимизировал изображение.

Ответ 3

на всякий случай, если кто-то еще сталкивается с этой проблемой и использует pngoptimizer, попробуйте новый png, не оптимизируя его.

У меня была такая же проблема, и я провел последние 4 часа, пытаясь ее решить. В конце я понял, что это png файл из инструмента pngoptimizer, который как-то всегда работал до iOS 5.1, но с обновлением тот же png файл создает эту тонкую линию внизу. странно, что это происходит только на устройстве, а не в симуляторе, и это вас обманывает, потому что вы думаете, что это не может быть графикой. на самом деле это.