2016-08-04 3 views
0

Я ищу, чтобы получить оба эти значения во время выполнения.Получение значения свойства изображения изображения UIImageView IB во время выполнения

enter image description here

Представьте себе, что по некоторым причинам это имя не может быть установлен в любом месте в коде. Только в IB. Но в моем коде у меня мог бы быть массив всех возможных имен изображений.

let images = ["black_76", "black_152", ...and so on] 

С намерением затем быть в состоянии сделать:

if images.contains(nameOfImageInIB) { 
    //do stuff 
} 

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

Конечная цель состоит в том, чтобы иметь возможность использовать только свойства IB, чтобы как-то придумать имя моего изображения в коде. Установка тега в индекс имени в массиве, возможно, будет работать, но опять же, у меня может быть только один тег, но у меня есть два изображения, которые мне нужно найти.

Кроме того, старайтесь не добавлять IBDesignable в свой код и просто использовать то, что уже предоставлено по умолчанию в IB.

+0

Вы просто пытаетесь подобрать изображение? Какова конечная цель? –

+0

Я добавил дополнительные разъяснения. – Frankie

ответ

0

UIImage не имеет ссылки на имя изображения во время выполнения. Существуют некоторые подходы, которые могут работать с использованием метки доступности UIImageView: https://stackoverflow.com/a/16825088/1852164

0

Это невозможно, я боюсь. Посмотрите this answer, чтобы узнать подробности о том, почему.

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

0

Это похоже, что это, по крайней мере трудно в соответствии с этим question

Но один из answers точки использовать accessibilityIdentifier ли рекомендуется

0

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

Смежные вопросы