Как показать разные изображения в каждой строке в зависимости от раздела? - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть один UITableview, и в этой таблице много разделов.Теперь я должен установить разные изображения для разных строк раздела.Я знаю, как установить разные изображения для разных строк в разделе, но здесь я должен установить разные изображения для разных строк раздела?

Ответы [ 3 ]

2 голосов
/ 05 декабря 2011
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if(indexPath.section == yourSection) {
     if(indexPath.row == yourRow) {
     // Do something
    }
  }
}

Используйте эту базовую логику для настройки в соответствии с вашими потребностями. В случае больших чисел лучше использовать switch case, а не if-else

1 голос
/ 05 декабря 2011
- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
    NSArray *listData =[self.tableContents objectForKey:[self.sotreKeys objectAtIndex:[indexPath section]]];


    UITableViewCell * cell = [tableView 
                              dequeueReusableCellWithIdentifier:SimpleTableIdentifier];

    if(cell == nil) {

        cell = [[[UITableViewCell alloc] 
                 initWithStyle:UITableViewCellStyleValue1 
                 reuseIdentifier:SimpleTableIdentifier] autorelease];


    }
    if(indexPath.section == 0 && indexPath.row ==0)
    {
        /*Add image on section of cell*/
cell.imageView.image = [UIImage imageNamed:@"image.png"];
    }
if(indexPath.section == 0 && indexPath.row ==1)
    {
        /*Add image on section of cell*/
cell.imageView.image = [UIImage imageNamed:@"image.png"];
    }
if(indexPath.section == 1 && indexPath.row ==1)
    {
        /*Add image on section of cell*/
cell.imageView.image = [UIImage imageNamed:@"image.png"];
    }
}

используйте это, я думаю, это поможет вам

0 голосов
/ 05 декабря 2011

Есть много способов сделать это.Я считаю, что это лучший способ, если вы собираетесь хранить изображения в массиве.

Храните изображения в массиве массивов, чтобы вы могли индексировать их как по разделам, так и по строкам и получать к ним доступ примерно так.Количество массивов должно быть количеством разделов.Если вы собираетесь динамически изменять количество разделов и / или строк, я предлагаю вам использовать NSMutableArray.Если нет, NSArray будет работать нормально.

Теперь вы можете установить эти изображения из таких методов, как cellForRowAtIndexPath: или из любого метода, для которого вы знаете, что indexPath ячейки загружается одной строкой, например

[[imagesSource objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];

, а не ненужные операторы switch / if.Я мог бы также добавить, что параметр switch / if никогда не работает хорошо при загрузке ячеек для табличных представлений, но очень удобен при использовании в tablview, чтобы определить, для какого табличного представления требуется ячейка.

Если вам нужно хранить изображения в другомКстати, укажите, пожалуйста, чтобы я мог найти лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...