2015-06-03 2 views
0

Я хочу отображать значения массива webservies в таблице для каждой ячейки. Мне нужно отображать два значения. Ex: общее десять значений означают, что каждый элемент отображает 2 значения в каждой строке. общее количество веб-сервисов девять означает, что каждый из них отображает два значения, последний из которых отображает одно значение. как я могу добиться этого, помогу мне. новый для развития.Отобразить два значения массива в ячейке single tableview

+1

использовать вид коллекции. Это будет проще. Установить ширину коллекцииViewCell как половину ширины экрана –

+0

необходимо отобразить в tableview любое другое решение .. – saravanaa

+0

Его небольшая двусмысленность. Вы пытаетесь сказать, что хотите показать 2 значения (по одному значению из каждого массива ваших веб-сервисов) в каждой ячейке, но в последнем только 1 значение. –

ответ

0

В cellForRow: вы должны послать Клетку значение из массива в [yourArray objectAtIndex:(indexPath.row * 2)] и [yourArray objectAtIndex:(indexPath.row * 2 + 1)]. поэтому строка 6 получит объекты для индексов 12 и 13. Также вы всегда должны проверить, существуют ли объекты. что-то вроде - if (yourArray.count > (indexPath.row * 2)) и if (yourArray.count > (indexPath.row * 2 + 1)), чем отправить в ячейку, иначе нет. (чем вы получите один объект в ячейке, когда вы получите нечетное количество значений.

1

Следуйте этому учебник для пользовательской ячейки и дизайн так, как вы хотите:

Crafting Custom UITableView Cells

Это метод, в котором можно задать значения для меток пользовательских ячеек из каждого массива:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    return cell; 
} 
0

Используя %, выберите количество строк для представления таблицы. Затем для последней ячейки, если значение равно null, тогда отобразите пустое ... у вас может быть базовая логика для этого. Возьмите 2 фунта в каждой ячейке и покажите на тех таблицах, которые содержат в себе значение.

1

Создайте пользовательский класс UITableViewCell, скажем CustomCell, и добавьте 2 ярлыка к нему, занимая половину пространства или согласно вашему дизайну, что вам нужно. Теперь скажите, что они labelOne и labelTwo. С вашего класса контроллера вы получили массив объектов, который вам нужно отображать в таблицах. В методе UITableViewDataSource использовать этот код

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
     return (dataArray.count+1)/2; //This will provide correct row count for odd data set, such as when count is 9 
} 

и использовать этот код для заполнения текстовой метки ячейки

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
     CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if(cell==nil) { 
     cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"customCell"]; 
    } 
     cell.lableOne.text = [dataArray objectAtIndex:indexPath.row*2]; 
     if((indexPath.row*2)+1 < dataArray.count){ 
     cell.lableTwo.text = [dataArray objectAtIndex:(indexPath.row*2)+1]; 
     } 

     return cell; 
} 
+0

Мой массив насчитывает 3 три означает, что он получает ячейку сбоя .lableTwo.text = [dataArray objectAtIndex: (indexPath.row * 2) +1]; эта строка получает сбой, как я могу решить, что поможет мне ... – saravanaa

+0

@saravanaa: что такое сообщение журнала сбоев, и в какой момент код, который сбой? – Gandalf

+0

Завершение приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «UITableView dataSource должен верните ячейку из tableView: cellForRowAtIndexPath: ' – saravanaa

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