获取UIBarButtonItem当前图像名称

时间:2011-02-24 16:25:15

标签: ios objective-c iphone uibarbuttonitem

是否可以获取UIBarButtonItem的当前图像名称?

3 个答案:

答案 0 :(得分:3)

See here.

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;