Есть ли способ проверить представление, загруженное через nib, чтобы найти имена ресурсов изображений в imageViews? - PullRequest
0 голосов
/ 01 марта 2011

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

Я знаю, как перебирать подпредставления после его загрузки, но я не знаю, как (или если вы можете) получить имя ресурса, установленное в Интерфейсном Разработчике. Я пытаюсь избежать установки всех имен изображений в коде.

Что я хотел бы сделать (в псевдокоде):

for subView in self.view.subviews:
    if subView is UIImageView:
        resourceName = (UIImageView *)subView.imageName
        if retinaResourceFileExists(resourceName) and isRetinaDisplay:
            (UIImageView *)subView.image = retinaImage(resourceName)

(Бонус: может быть, есть способ перебора переменных IBOutlet, но я сомневаюсь в этом?)

1 Ответ

2 голосов
/ 01 марта 2011

используйте [UIImage imageNamed:@"Foo"];, и устройство автоматически загрузит изображение @ 2x.

Interface Builder также автоматически загружает изображение сетчатки.

...