我是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上的旧图像变为静态,我无法对其进行任何操作。
我更喜欢一些代码。
我要问的是:
如何存储它们,以便在每个按钮上单击容器,使用UIImageViews填充或更新容器。
如何稍后恢复。
答案 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];
正如第一个回答所说。
希望我帮助过。)