Я размещаю изображение play.png на своем представлении. Когда представление первоначально загружается, iPhone 4 захватывает соответствующий файл [email protected], и он выглядит великолепно. Однако, когда я нажимаю кнопку воспроизведения, мой код заменяет его на файл pause.png. Затем, когда я нажимаю pause.png, чтобы вернуть play.png, он использует исходный файл play.png (а не версию @ 2x, как я думал, он автоматически ссылается).Значки сетчатки (@ 2x) не используются, когда изображения указаны в коде
Это код, который я пытался использовать:
[button setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
Так что, если я поменять местами файлы после первоначальной загрузки зрения, я должен вручную указать версию @ 2x внутри оператора IF? Если да, является ли UIScreen.scale лучшим атрибутом для использования для этого?
настоящее время я использую такой код:
if ([UIScreen mainScreen].scale > 1.0)
{
[button setImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];
}
else
{
[button setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
}
Это работает нормально, но имея заявление, если там раздражает и кажется немного хрупким.
Заранее благодарим всех вас, умников.
Пожалуйста, напишите, как вы меняете изображения ... 'UIImage imageNamed' обычно обрабатывает его автоматически, тогда как другие методы пока не установлены – iwasrobbed
[button setImage: [UIImage imageNamed: @ "play.png"] forState: UIControlStateNormal]; – nicjohnson
сейчас я использую следующий (извините, я не могу понять, как форматировать код как код): если ([UIScreen В начало] .scale> 1,0) { \t [кнопка setImage: [UIImage imageNamed: @ "[email protected]"] forState: UIControlStateNormal]; } else { \t [кнопка setImage: [UIImage imageNamed: @ "play.png"] forState: UIControlStateNormal]; } Он работает нормально, но наличие утверждения IF в нем раздражает и кажется немного хрупким. – nicjohnson