获取当前设置为 UIImageView 的图像名称的任何替代方法?

Posted

技术标签:

【中文标题】获取当前设置为 UIImageView 的图像名称的任何替代方法?【英文标题】:Any alternative to get Image name that is currently set to UIImageView? 【发布时间】:2013-06-03 09:57:04 【问题描述】:

我正在使用 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]]];

谢谢!

【问题讨论】:

【参考方案1】:

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

-(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]);

【讨论】:

【参考方案2】:

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

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

NSString *file_name = [image accessibilityIdentifier] ;

【讨论】:

仔细阅读问题。我说我只有一个 UIImageView。因此,当我获得 imageName 时,您每次的回答都会给我相同的价值。 从答案中可以清楚地看出,它可以保存一个字符串值,是的,这就足够了。每当您更改图像时,您都会设置该值并且您拥有所需的内容。 抱歉,您的回答不清楚,因为您没有指定设置 imageView 可访问性的位置。我认为它将在 viewDidload 中,所以我输入了这段代码并检查了。 任何方式 +1 为你...接受它。

以上是关于获取当前设置为 UIImageView 的图像名称的任何替代方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UITableViewCell 中的 URL 为 UIImageView 设置图像?

UIImageView 不显示来自 UITableViewController 的设置图像

UIImageView - 如何获取分配的图像的文件名?

UIImageView - 如何获取分配的图像的文件名?

UIImageView 识别器

iOS 为 UIImageView 获取图像的可见部分