UIImageView PNG пикселизация на симуляторе iOS и на устройстве - PullRequest
3 голосов
/ 12 марта 2012

Это может быть очень простой вопрос, но я застрял с этим в течение недели. Я использую UIImageView для отображения изображения PNG с логотипом Dropbox. Я вижу это хорошо в Интерфейсном Разработчике, но легко заметить сильную пикселизацию в Симуляторе iOS и в реальном устройстве (iPad). Здесь я прилагаю снимок экрана IB вместе с симулятором:

On the left the IB. On the right the simulator. Notice the pixelation.

Буду очень признателен за любую подсказку.

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 12 марта 2012

InterfaceBuilder - это совершенно другая среда, нежели iOS или даже симулятор. Макет и тому подобное должны переводиться, но то, как все выглядит, всегда должно оцениваться (и, следовательно, предназначаться) для конечного продукта.

Похоже, ваше изображение слегка растягивается. Есть много причин для этого. Первое, что нужно проверить - это маска изменения размеров в вашем UIImageView. Как правило, для UIImageViews автоматическое изменение размера - по этой самой причине.

Кстати, автоматическое изменение размера - это способ UIKit убедиться, что подпредставления все еще подходят / выглядят хорошо, когда их родительское представление меняет размер. Вы можете указать, насколько сильно вы хотите перемещать подпредставление, а также насколько вы хотите, чтобы оно растягивалось. Читайте об этом здесь .

Что вы хотите сделать, так это создать свой вид - ответить на вопрос: насколько большим я хочу, чтобы это изображение было в конечном продукте? - и затем установите фактический png этого размера (также создайте вариант @ 2x, который в два раза больше для дисплеев сетчатки). Затем, когда вы проектируете в IB, создайте свой размер UIImageView и убедитесь, что в настройках автоматического изменения размера задано запрещение растяжения.

Это должно исправить вашу проблему.

2 голосов
/ 12 марта 2012

Убедитесь, что размер изображения соответствует размеру вашего UIImageView.Если изображение окажется меньше, чем целевое изображение, оно растянется, чтобы заполнить его, что может вызвать пикселизацию.Кроме того, если вы используете новый симулятор 5.1 для iPad, по умолчанию будет установлен новый экран Retina, а это значит, что вам понадобятся изображения размером @ 2x, чтобы предотвратить образование пикселов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...