2011-03-05 42 views
1

我是iPhone開發新手。iPhone更新按鈕上的數組點擊

當我以編程方式點擊按鈕時,IMAGEVIEW中的新圖像顯示在UIView上。我想將圖像存儲在某個容器中,然後再使用它們。

這是我通過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. 以後如何恢復它們。

回答

0

我可能完全不理解你的問題,如果你只是想在以後的時間點存儲圖像以供參考,你可以將它們添加到數組中。

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

如果你想稍後訪問圖像,可以通過索引做

[imagesArray objectAtIndex: indexOfTheImage]; 
+0

不要忘記釋放imagesArray當您完成[imagesArray發行] –

-1

我會做這樣的:

- (IBAction)button { 

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

} 

You'l有使用:[imagesArray objectAtIndex: indexOfTheImage];

作爲第一答案說秒。

希望我幫助:)

+0

標誌?促進用戶的博客。請不要在答案中隨機推薦您的博客,這在此社區中是不可接受的。 – occulus

+1

哦對不起,我真的不知道。我會刪除答案。 – DailyDoggy