Как использовать обычные и сетчатые иконки для iOS - PullRequest
3 голосов
/ 09 августа 2011

Как правильно использовать стандартные и сетчатые иконки в iOS?Нужно ли определять разрешение устройства?Если это так, какова лучшая процедура для этого?Нужно ли делать что-то похожее на следующее?

UINavigationBar *navbar... 

NSString *imageName;

if (isRetinaDisplay)
{
    imageName = @"hello@2x.png";
}
else
{
    imageName = @"hello.png";
}

navbar.tabBarItem.image = [UIImage imageNamed:imageName];

Любые предложения будут оценены.Спасибо.

Ответы [ 3 ]

7 голосов
/ 09 августа 2011

Нет, нет.iOS автоматически обнаружит и использует @2x изображения на устройствах высокого разрешения.Проверьте Руководство по рисованию и печати для получения дополнительной информации.Выдержка:

На устройствах с экранами высокого разрешения методы imageNamed:, imageWithContentsOfFile: и initWithContentsOfFile: автоматически ищут версию запрошенного изображения с модификатором @2x вего имя.Если он его найдет, он загружает это изображение.Если вы не предоставите версию данного изображения в высоком разрешении, объект изображения все равно загружает изображение стандартного разрешения (если оно существует) и масштабирует его во время рисования.

1 голос
/ 25 июля 2012

Главное для использования обычных изображений и изображений с сетчатки глаза - это то, что вы должны соблюдать правила именования, а также размер изображения.Пример: -если ваш размер значка 52 * 52 и имя icon.png (для обычного), тогда размер изображения на сетчатке и соглашение об именах должны быть такими: icon@2x.png 104 * 104.Надеюсь, это может быть полезно.Спасибо

1 голос
/ 09 августа 2011

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

...