Есть ли способ добавить пустую строку с @ "" в uitableview сразу после того, как все динамические данные были заполнены: iphone - PullRequest
1 голос
/ 25 ноября 2011

У меня динамически создается UITableView.Я хочу добавить 3 фиктивных строки, когда табличное представление заполнено из массива.

Мой сценарий заключается в том, что когда в UITableView достаточно данных, то в нижней части подходящих фиктивных строк с пустым текстом.

Таким образом, даже если имеется 40 записей, при прокрутке вверх будут видны две последние строки.Предположим, мой счетчик массива равен 14 (что является динамическим / не всегда 14), тогда как мне добавить три пустых строки в путь индекса 14, 15, 16 и установить их текст как:

cell.textlabel.text=@"";

Ответы [ 4 ]

7 голосов
/ 25 ноября 2011

Вы можете сделать это следующим образом.

перенастроить номер строки, как показано ниже.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
return [array count]+2; 
}

После этого выполните это в методе cellRowAtindexPath, как показано ниже:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
[tableView setPagingEnabled:NO];
//[tableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"longDotedLine.png"]]];

  if (indexPath.row < [array count]) {
      cell.textLabel.text = @"Test Data";
  } else {
      cell.textLabel.text = @"";
  }


return cell;

}

Попробуйте, может быть, это поможет вам.

Спасибо, MinuMaster.

1 голос
/ 25 ноября 2011

Вы пробовали что-то вроде:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return ([array count] + 3);
}
1 голос
/ 25 ноября 2011

Я удивлен, почему такой вопрос возник ??В чем заключается проблема с обнаружением последней записи динамических данных?

Если вы берете любое количество динамических данных в Array , то просто вы можете Keep RowCount + 1 ипроверьте, достигнута ли последняя запись в cellForRowAtIndexPath.Если да, то просто добавьте Ваш последний оператор , т.е. cell.textLabel.text = @""; для последней записи.

1 голос
/ 25 ноября 2011

Добавьте некоторую переменную, у которой счетчик на три больше, чем счетчик массива. Например, если в вашем массиве 12 элементов, переменная скажет totalRow = [Счетчик массивов] +3;Сопоставьте это в cellForRowAtIndexPAth делегат и выполните вашу операцию

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