如何获取为UIButton设置的图像

时间:2012-10-19 09:14:59

标签: iphone objective-c ios xcode uibutton

在我的应用程序中,我有一个上下文,我正在使用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;
        }
}

现在单击按钮* 我需要知道按钮上设置了哪个图像我的意思是,我需要图像名称*

我需要这个,因为根据该图片,我正在加载一些链接,

我怎么能这样做,任何伙伴都可以帮助我,

提前致谢

2 个答案:

答案 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 *属性。这些都非常有帮助。我在我的应用程序中使用此属性获取图像名称。