每次单击相同按钮时添加图像

时间:2011-08-03 08:11:33

标签: iphone objective-c uiimageview uibutton uiimage

我的应用程序中有一个图像和一个按钮。我想多次在每次点击同一个按钮时一次又一次地添加相同的图像。

但我不知道怎么回事,请帮忙!!!

3 个答案:

答案 0 :(得分:2)

声明一个新的UIImageView并将其作为子视图添加到您的UIButton。

答案 1 :(得分:0)

在视图中添加一个按钮,删除标题并将类型设置为切换(在检查器的属性选项卡中)。这里还设置了按钮的图像和替代图像,如下所示:

attributes inspector http://img340.imageshack.us/img340/2310/bildschirmfoto20090928u.png

应该这样做。

如果你想使用自定义图像,你必须以这样的方式编写它:

NSString* path  = [[NSBundle mainBundle] pathForResource:@"myImage" 
                              ofType:@"png"];
NSURL* url      = [NSURL fileURLWithPath:path];
NSImage *image  = [[NSImage alloc] initWithContentsOfURL: url];

[myButton setImage: image];

和分别用于替代图像:

[myButton setAlternateImage: image2];

答案 2 :(得分:0)

如果我理解你的问题,你想要在不同的地方添加一个图像,点击相同的按钮???如果是的话,

UIImage *image = [UIImage imageNamed:@"Icon-72.png"];
int width = image.size.width;
int height = image.size.height;

srand(time(0));
int x = (rand() % 320);
int y = (rand() % 480);


if (x+width > 320) {
    x = x- width;
}
if (y+height > 4800) {
    x = x- height;
}


UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(x, y, width, height)];
imageView.image = image;
[self.view addSubview:imageView];
[imageView release];
[self.view bringSubviewToFront:sender];

这使用时间作为种子,所以如果你快速点击,可能会生成相同的值,看起来没有添加任何内容,因为新的imageview与其他一些imageview重叠