我目前正试图找出是否可以检查按钮使用的图像。
假设我有image1和image2。
如果按钮图像是image1,请执行此操作,如果按钮图像是image2,请执行此操作。
但是xcode并没有给我任何自动填充选项......
[m1 setImage:[UIImage imageNamed: @"Penguin.png"] forState:UIControlStateNormal];
这是我设置图像的方式。但我如何找到它的企鹅或企鹅2?
答案 0 :(得分:6)
Cocoa Touch是围绕模型 - 视图 - 控制器模式设计的,因此您可能希望尝试采用该模式。而不是尝试从视图中检索状态信息 - 选定的企鹅 - 按钮 - 将其存储在控制器类的实例变量中。
您设置图片的代码可能如下所示:
self.currentImage = @"Penguin.png";
[m1 setImage:[UIImage imageNamed: currentImage] forState:UIControlStateNormal];
然后当你需要检查值时:
if ([@"Penguin.png" isEqual:self.currentImage]) {
do something;
}
答案 1 :(得分:6)
根据图像
使用此代码进行按钮操作- (IBAction)checkButtonClicked:(UIButton *)sender {
if ([checkButton.currentImage isEqual:[UIImage imageNamed:@"checkbox.png"]])
[checkButton setImage:[UIImage imageNamed:@"Checked.png"] forState:UIControlStateNormal];
//do some thing here for your image1
else
[checkButton setImage:[UIImage imageNamed:@"checkbox.png"] forState:UIControlStateNormal];
//do some thing here for your image 2
}
答案 2 :(得分:3)
检查图像的相等性如下:
if ([[UIImage imageNamed:@"Penguin.png"] isEqual:m1.currentImage]) {
// do something
}
答案 3 :(得分:3)
可以使用2种方法:
1
UIImage *image = self.myButton.currentBackgroundImage;
2
myImageView.image = [myButton backgroundImageForState:myButton.state];
答案 4 :(得分:3)
UIImage *img=[(UIButton *) sender currentImage];
if(img == [UIImage imageNamed:@"edit"])
{
//If do something
}`
试试这个希望它会起作用
答案 5 :(得分:1)
在Swift中也可以
iOS 8 +
if button.currentImage?.isEqual(UIImage(named: "Penguin.png")) {
//do something here
}
iOS 7-
if timerButton.currentImage == UIImage(named: "Penguin.png") {
//do something here
}