是否可以获取UIBarButtonItem的当前图像名称?
答案 0 :(得分:3)
UIBarButtonItem *item; // Assume this exists.
UIImage *image = item.image;
好。我重读了你的问题。如果使用+[NSImage imageNamed:]
方法创建图像,则该名称仅用于查找原始文件。之后,仅存储图像数据。因此,无法重新捕获图像的名称。另一种方法是创建子类UIBarButtonItem
并包含NSString *name
属性。您可以使用图像名称初始化此条形项,它会像超级一样存储数据,并且还会存储图像名称。我希望这能解决你的问题。
答案 1 :(得分:1)
这是不可能的,因为UIBarButtonItem将UIImage实例作为参数获取,因此它不知道任何关于图像源的信息(它是合乎逻辑的,因为图像可能不是来自文件)。但是,您可以继承UIBarButtonItem并添加其他属性,如imageSource。
答案 2 :(得分:0)
UIImageView *imageView = ((UIImageView *)(barButtonItem.customView.subviews.lastObject));
file_name = imageView.accessibilityLabel;