我是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 ......
提前致谢。
答案 0 :(得分:4)
要设置图像名称,请使用以下代码:
[Your_Button setAccessibilityIdentifier:[NSString stringWithFormat:@"%@",imageName]];
imageName=@"recordmode.PNG";
并获取图片名称
[Your_Button accessibilityIdentifier];
答案 1 :(得分:3)
你不能。 UIImage
不会存储其中包含的image
的名称。您必须自己将名称存储在与Button
或image
。
答案 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
}
}