在我的应用程序中,我有一个上下文,我正在使用NSTimer更改UIButton的图像,如下所示
[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(LoadImageToTheAdButton) userInfo:nil repeats:YES];
-(void)LoadImageToTheAdButton
{
NSString *strPath = [arrPaths objectAtIndex:0];
strPath = [strPath stringByAppendingPathComponent:@"Folder"];
strPath = [strPath stringByAppendingPathComponent:[arrAdImgNames objectAtIndex:intAdImgIndex]];
UIImage *imgForAdBtn = [[UIImage alloc]initWithContentsOfFile:strPath];
[btnAd setBackgroundImage:imgForAdBtn forState:UIControlStateNormal];
if(intAdImgIndex < [arrAdImgNames count]-1)
{
intAdImgIndex++;
}
else
{
intAdImgIndex = 0;
}
}
现在单击按钮* 我需要知道按钮上设置了哪个图像我的意思是,我需要图像名称*
我需要这个,因为根据该图片,我正在加载一些链接,
我怎么能这样做,任何伙伴都可以帮助我,
提前致谢
答案 0 :(得分:0)
您无法获取当前在按钮上设置的图像的名称,您只能获得引用图像的内存地址。一个很好的选择是使用buttons标签属性来指定包含图像名称的数组中的索引。例如:
myArray = [[NSArray alloc] initWithObjects:@"something.png",@"somethingElse.png",@"etc.png", nil];
- (void)myMethod:(UIButton *)sender
{
NSString *imageNameSelected = [myArray objectAtIndex:sender.tag];
}
因此,对于此示例,当您将按钮图像设置为“something.png”时,您将按钮标记属性设置为“0”,或将“1”设置为“somethingElse.png”等...
答案 1 :(得分:0)
在任何视图中尝试setAccessibility *属性。这些都非常有帮助。我在我的应用程序中使用此属性获取图像名称。