1

我正在使用 UIImageView 和大约 5 张在计时器的帮助下不时更改的图像。我们可以在 UIImage 中获取当前设置的图像名称吗?我在谷歌上搜索并找到了一个,通过将图像名称插入数组并将标签设置为 imageView,我们可以通过其标签获取图像名称,但在我的情况下,只有一个 imageView,图像是 5 .我的代码如下:-

[_imgView setImage:[UIImage imageNamed:@"tops.png"]];
imgArray=[[NSArray alloc] initWithObjects:@"tops.png",@"position_conv.png",@"stocks.png",@"home.png",@"report.png",nil];
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(change) userInfo:nil repeats:YES];

-(void)change
{
    int randNum = rand() % (4 - 0) + 0; 
    [_imgView setImage:[UIImage imageNamed:[imgArray objectAtIndex:randNum]]];
}

谢谢!

4

2 回答 2

2

您可以使用 UIImageView 的图像的可访问性标识符属性。在您的方法中设置图像可访问性标识符并获得您想要的任何地方。

-(void)change
{
    int randNum = rand() % (4 - 0) + 0;
    [_imgView setImage:[UIImage imageNamed:[imgArray objectAtIndex:randNum]]];
    [_imgView.image setAccessibilityIdentifier:[imgArray objectAtIndex:randNum]];
}


- (IBAction)currentImgName:(id)sender {
    NSLog(@"image name is %@", [_imgView.image accessibilityIdentifier]);
}
于 2013-06-03T09:59:38.157 回答
0

您可以对任何子类使用 setAccessibilityIdentifier 方法UIView

UIImageView *image ;
[image setAccessibilityIdentifier:@"file name"] ;

NSString *file_name = [image accessibilityIdentifier] ;
于 2013-06-03T10:00:14.990 回答