2012-05-04 1 views
0

У меня есть сценарий, в котором я хочу сохранить «миниатюры» изображений в строке таблицы. Я решаю во время выполнения количество изображений, которые идут в строке.UItableView с несколькими изображениями и установкой onclick на каждом из них

Во-вторых, при щелчке любого изображения я хочу запустить viewcontroller с разработанным ими изображением с некоторым описанием.

Как я могу это достичь?

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

Представьте цифры выше в виде эскизов. Onclick любого числа, с которого я хочу запустить новый контроллер представления, который дает подробности об изображении.

фрагмент кода:

-(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

У вас есть два варианта.

• Добавьте UIButton с UIImage и добавьте каждую кнопку в качестве подзаголовка в ячейке tableview.

или

• Выяснить, где на ячейку пользователь постучала и отсюда вычислить, какой образ они утряски и какие действия предпринять:

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

У меня есть подкласс UITableViewCell или нет? Тип контента - это только изображение (или uibutton), поэтому должно быть хорошо, если мы создадим их в - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath –

+0

Да, вы можете легко добавить subviews в ячейку. contentView' в этом методе. – runmad

Смежные вопросы