如何在IOS中获取按钮的图像名称?

时间:2014-04-29 11:12:07

标签: ios objective-c button

我是IOS and Objective-C的新手。

我将图像设置为按钮,如下面的代码。

UIButton *modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(233, 490, 60, 60)];
[modeChangeButton setImage:[UIImage imageNamed:@"recordmode.PNG"] forState:UIControlStateNormal];

[self.view addSubview:modeChangeButton];

但是如何获取button的图像名称?

例如,我想获得 recordmode.PNG ......

提前致谢。

4 个答案:

答案 0 :(得分:4)

要设置图像名称,请使用以下代码:

[Your_Button setAccessibilityIdentifier:[NSString stringWithFormat:@"%@",imageName]];

imageName=@"recordmode.PNG";

并获取图片名称

[Your_Button accessibilityIdentifier];

答案 1 :(得分:3)

你不能。 UIImage不会存储其中包含的image的名称。您必须自己将名称存储在与Buttonimage

相关的其他位置

答案 2 :(得分:0)

首先将您的图像名称存储在类似

的字符串中
NSString * imageNameString = @"yourImageName.png";

然后

UIButton *modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(233, 490, 60, 60)];
[modeChangeButton setImage:[UIImage imageNamed:imageNameString] forState:UIControlStateNormal];

[self.view addSubview:modeChangeButton];

如果您想要按钮图片名称,请使用imageNameString

答案 3 :(得分:0)

在iOS中获取UIImage的名称,这个就可以了!

例子:

let sender = UIButton(type: .custom)
sender.setImage(UIImage(named: "Item_center_H"), for: .normal)

if let image = sender.image(for: .normal) {
   DDLog(image.assetName)  // Item_center_H

}

代码:

@objc public extension UIImage{

    var assetName: String? {
        guard let imageAsset = imageAsset else { return nil }
        return imageAsset.value(forKey:"assetName") as? String
    }
}