iPhone按钮点击更新数组

时间:2011-03-05 08:31:05

标签: iphone

我是iPhone开发的新手。

当我以编程方式单击按钮时,UIView上会显示IMAGEVIEW中的新图像。我想将图像存储在某个容器中,然后再使用它们。

这是我通过UIGraphics创建图像的源代码。

   if ([shape isEqualToString:@"Rectangle"])
    {

        UIGraphicsBeginImageContext(CGSizeMake(100.0, 100.0));
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextSetLineWidth(context, 2.0);    
        CGRect main =CGRectMake(15.0, 15.0, 70.0, 30.0);
        CGContextFillRect(context, main);   

        CGRect topSeat1 = CGRectMake(15.0, 0.0, 15.0, 13.0);
        CGRect topSeat2 = CGRectMake(42.5, 0.0, 15.0, 13.0);
        CGRect topSeat3 = CGRectMake(70.0, 0.0, 15.0, 13.0);

        CGRect leftSeat = CGRectMake(0.0, 22.5, 13.0, 15.0);

        CGRect rightSeat = CGRectMake(87.0, 22.5, 13.0, 15.0);


        [[UIColor redColor]set];
        //UIRectFill(main);
        UIRectFill(topSeat1);
        UIRectFill(topSeat2);
        UIRectFill(topSeat3);
        UIRectFill(leftSeat);
        UIRectFill(rightSeat);
        UIRectFrame(main);

        [[UIColor blackColor]set];
        UIRectFrame(topSeat1);
        UIRectFrame(topSeat2);
        UIRectFrame(topSeat3);
        UIRectFrame(leftSeat);
        UIRectFrame(rightSeat);

        UIImage * image = [[UIImage alloc]init];
        image = UIGraphicsGetImageFromCurrentImageContext();

        myImage=[[UIImageView alloc]initWithImage:image];

        UIGraphicsEndImageContext();
        [self.view addSubview:myImage];
        [myImage setUserInteractionEnabled:YES];

        [arrayOfImages addObject:myImage];

    }

但是显示图像但是当我再次点击按钮时,会显示另一个图像,但UIView上的旧图像变为静态,我无法对其进行任何操作。

我更喜欢一些代码。

我要问的是:

  1. 如何存储它们,以便在每个按钮上单击容器,使用UIImageViews填充或更新容器。

  2. 如何稍后恢复。

2 个答案:

答案 0 :(得分:0)

我可能完全不明白你的问题,如果你只想存储图像以供日后参考,你可以将它们添加到数组中。

NSMutableArray *imagesArray = [[NSMutableArray alloc]init];
[imagesArray addObject: image];

如果您想稍后访问图像,可以通过索引

进行操作
[imagesArray objectAtIndex: indexOfTheImage];

答案 1 :(得分:-1)

我会这样做:

- (IBAction)button {

    UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(160, 240, 40, 40)];
    [image setImage:@"yourimage.png"];
    [self.view addSubview:image];
    [myArray addObject:image];

}

您必须使用:[imagesArray objectAtIndex: indexOfTheImage];

正如第一个回答所说。

希望我帮助过。)