iOS 5.1 с Xcode 4.3.1: [UIColor colorWithPatternImage:] странное поведение только на устройстве - PullRequest
29 голосов
/ 09 марта 2012

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

Мои текстуры имеют размер 150x150 и 300x300 при 2x.

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

  • Симулятор iPhone / iPad как 5.0 / 5.1: без ошибок
  • iPhone / iPad под управлением 5.0.1: без ошибок
  • iPhone / iPad под управлением 5.1: глючит

Compare side by side screenshots

Ответы [ 3 ]

14 голосов
/ 14 марта 2012

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

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

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

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

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

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

9 голосов
/ 19 марта 2012

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

5 голосов
/ 13 марта 2012

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

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

...