получить UIBarButtonItem текущее имя изображения - PullRequest
1 голос
/ 24 февраля 2011

Можно ли получить текущее имя изображения UIBarButtonItem?

Ответы [ 3 ]

3 голосов
/ 24 февраля 2011

Смотри здесь.

UIBarButtonItem *item; // Assume this exists.
UIImage *image = item.image;

Редактировать

Хорошо. Я перечитал твой вопрос. Если вы создаете изображение с помощью метода +[NSImage imageNamed:], имя используется только для поиска исходного файла. После этого сохраняются только данные изображения. Следовательно, невозможно восстановить название изображения. Альтернативой этому является создание подкласса UIBarButtonItem и включение свойства NSString *name. Вы должны инициализировать этот элемент панели с именем изображения, он будет хранить данные, как это делает супер, и также будет хранить имя изображения. Я надеюсь, что это решит вашу проблему.

1 голос
/ 24 февраля 2011

Это невозможно, поскольку UIBarButtonItem получает экземпляр UIImage в качестве параметра, поэтому он ничего не знает об источнике изображения (это логично, поскольку изображение может быть не из файла). Однако вы можете создать подкласс UIBarButtonItem и добавить дополнительное свойство, например imageSource.

0 голосов
/ 05 декабря 2013
UIImageView *imageView = ((UIImageView *)(barButtonItem.customView.subviews.lastObject));
file_name = imageView.accessibilityLabel;
...