2012-05-04 10 views
0

私は、テーブルビューの行に画像の「サムネイル」を保存したいシナリオがあります。私はランタイムに行くイメージの数を決定します。UItableView複数の画像とそれぞれのonclickを設定する

第2に、画像のいずれかをクリックすると、何かの説明を付けて画像を精緻化したviewcontrollerを起動します。

どうすればこの問題を解決できますか?

|________________| 
| 1 2 3 4 5 6 | 
|________________| 
| 7 8 9 10 11 12 | 
|________________| 
| 12 14 15  | 
|________________| 

サムネイルとして上記の数字を想像してください。任意の数のOnclick私は画像についての詳細を与える新しいView Controllerを起動したい。

コードスニペット:

-(void) populateTableView 
{ 

    NSMutableArray* srcArray = [[NSMutableArray alloc] initWithArray:[[ImageDataSource sharedImageDataSource] getThumbnailsSrcArray]]; 

    int noOfImages = srcArray.count; 

    float rowc = (noOfImages/ROW_ELEM_COUNT) + 0.5; 

    int rowCount = roundf(rowc); 

    titleData = [[NSMutableArray alloc]init]; 

    int j=0; 
    for (int i=0; i<rowCount; i++) { 

     NSMutableArray* rowArray = [[NSMutableArray alloc] init]; 

     for (int k=0; k < ROW_ELEM_COUNT; k++) { 

      if (j < noOfImages) { 
       NSString* imgPath = [srcArray objectAtIndex:j]; 
       UIImage* img = [[UIImage alloc] initWithContentsOfFile:imgPath]; 
       [rowArray addObject:img]; 
       [img release]; 
       imgPath=nil; 
      } 
      j++; 
     } 
     [titleData addObject:rowArray]; 
    } 

    titleView = [[UITableView alloc] initWithFrame:CGRectMake(90.0,156.0,590.0,630.0) 
              style:UITableViewStyleGrouped]; 
    titleView.delegate = self; 

    [self.view addSubview:titleView]; 
    [titleView release]; 

} 

だから、基本的に私は私のDSとして、配列の配列を持っています。各配列のインデックスはテーブルビューの行になり、内部の配列には画像があります。しかし、私はどのようにテーブルビューを作成するか分からない。 誰か手がかりがありますか?

答えて

1

2つの選択肢があります。

•UIImageを使用してUIButtonを追加し、各ボタンをテーブルビューセルのサブビューとして追加します。

または図•

は、セルにユーザーがタップし、ここから、彼らがタップされた画像を計算し、その行動は取るにアウト場所:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch* touch = [touches anyObject]; 
    // do your stuff 
    //.. 
} 
+0

は、私はUITableViewCellのかいないサブクラス化する必要がありますか? (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath –

+0

ええ、簡単に 'cellにサブビューを追加することができます。このメソッドではcontentViewを使用します。 – runmad

関連する問題