2011-09-06 78 views
0

顯示圖像I具有的cellForRowAtIndexPath方法定義如下根據細胞圖像iphone

switch (row) { 

    case 0: 

     rowImage=[UIImage imageNamed:@"euro.png"]; 
     cell.imageView.image=rowImage; 
     break; 

    case 1: 

     rowImage=[UIImage imageNamed:@"us.png"]; 
     cell.imageView.image=rowImage; 
     break; 

現在對任何細胞用戶選擇我要顯示在該視圖上這是正常的XIB文件對應的圖像下一視圖tableViewCell具有細胞圖像。圖像不應該覆蓋整個xib文件,但它的一個小地方

我該如何實現這一點。

感謝

+1

在所需的大小和位置製作UIImageView,將其作爲IBOutlet連接,並以編程方式設置其'.image'屬性。 – bdares

回答

1

您可以通過創建爲u從第0行的表添加到u有多少總共添加了持有相同的序列圖像名稱的數組實現它。現在,在didSelectRowAtIndexPath方法方法通過其被選中數組的索引,這樣的療法行:

NSString *imgName =[imagesArray objectAtIndex:indexPath.row]; 

現在你有UR所選圖像名稱。您現在可以將此名稱傳遞給您想要顯示圖像的下一個視圖控制器。爲此,只需在具有字符串參數的下一個viewcontroller類中創建一個方法。將此圖像名稱字符串傳遞給該方法。例如,

NSString *localImgName = [getImageName imgName]; 

其中getImageName是其他視圖控制器中的方法。現在你可以在localImgName變量中使用獲得的imageName,並使用它將圖像設置爲UIImageView。 希望這有助於。我已經用程序化的方式解釋了......

1

在委託的幫助下做到這一點。 在該方法中,

switch (row) { 

    case 0: 

     appDelegate.rowID = 0; 
     rowImage=[UIImage imageNamed:@"euro.png"]; 
     cell.imageView.image=rowImage; 
     break; 

    case 1: 

     appDelegate.rowID = 1; 
     rowImage=[UIImage imageNamed:@"us.png"]; 
     cell.imageView.image=rowImage; 
     break; 

ROWID是在yourAppDelegate文件一個int。

//inYourNextViewController.m file 
    - (void)viewDidLoad { 
      [super viewDidLoad]; 

      appDelegate = (yourAppDelegate*) [[UIApplication sharedApplication]delegate]; 
      switch(appDelegate.rowID) 
      { 
        case 0: 
        yourImageView.image = [UIImage imageNamed:image1]; 
        break; 

        case 1: 
        yourImageView.image = [UIImage imageNamed:image2]; 
        break; 
      } 

    }