1

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

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

我需要它,因为基于该图像我正在加载一些链接,

怎么办啊,哪位大侠帮帮我,

提前致谢

4

2 回答 2

0

您无法获取按钮上当前设置的图像名称,您只能获取引用该图像的内存地址。一个好的替代方法是使用按钮标签属性来指定包含图像名称的数组中的索引。例如:

myArray = [[NSArray alloc] initWithObjects:@"something.png",@"somethingElse.png",@"etc.png", nil];

- (void)myMethod:(UIButton *)sender
{
    NSString *imageNameSelected = [myArray objectAtIndex:sender.tag];
}

因此,对于本示例,当您将按钮图像设置为“something.png”时,您会将按钮标签属性设置为“0”,或者将“somethingElse.png”设置为“1”等...

于 2012-10-19T09:19:26.240 回答
0

在任何视图中尝试 setAccessibility* 属性。这些非常有帮助。我通过在我的应用程序中使用此属性来获取图像名称。

于 2012-10-19T10:37:02.267 回答