我想在录制时获取按钮的背景图像名称。经过互联网搜索后我发现了
由于UIImage不存储其包含的图像的名称, 。我们必须自己将名称存储在其他地方 与按钮或图像的关系
通过this SO回答。但是,我想知道如何通过子类UIButton获取按钮的背景图像名称?我需要从UIButton乘坐什么方法来获取背景图片名称?
Button的标签,标题文本和accessibilityIdentifier已经用于其他目的。所以除了获取图像名称之外别无选择。
我的应用支持从iOS 7到最新版本。
答案 0 :(得分:4)
您可以使用类别将图像名称存储在UIImage实例中。
在UIImage上添加一个名为ImageName的新类别,并为其添加一个属性:
//UIImage+ImageName.h
#import <UIKit/UIKit.h>
@interface UIImage (ImageName)
@property (strong, nonatomic) NSString *imgName;
@end
然后,您只需通过导入类别将图像的名称附加到任何UIImage。
#import "UIImage+ImageName.h"
NSString *name = @"someImage.jpg";
UIImage *image = [UIImage imageNamed:name];
image.imgName = name;
答案 1 :(得分:1)
由于UIImage不存储其包含的图像的名称,因此您无法使用。您必须自己将名称存储在与按钮或图像的关系中。