#iphone #objective-c #ios #uitableview
#iPhone #objective-c #iOS #uitableview
Вопрос:
Я знаю, как установить чередующиеся цвета для tableviewcell, но как я могу настроить все видимые строки на чередующийся цвет? Например, прямо сейчас, если у меня есть только 2 ячейки с данными, только 2 ячейки будут иметь цвета фона — как мне также заполнить фоны пустых ячеек?
Ответ №1:
попробуйте сделать что-то вроде этого: (a) добавьте только необходимое количество фиктивных строк — (NSInteger)TableView:(UITableView *)TableView numberOfRowsInSection:(NSInteger)раздел {
if ([UIAppDelegate.getwaitlistArray count]>=numberOfVisibleRowsOnYourScreen) {
return [UIAppDelegate.getwaitlistArray count];
}
else{
return ([UIAppDelegate.getwaitlistArray count] numberOfVisibleRowsOnYourScreen - [UIAppDelegate.getwaitlistArray count]);
}
}
(b) Чередуйте свою ячейку:
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
//alternating cell back ground color
if (indexPath.row%2 == 0) {
[cell setBackgroundColor:[UIColor colorWithRed:237.0/255.0f green:237.0/255.0f blue:237.0/255.0f alpha:1.0f]];
}else
{
[cell setBackgroundColor:[UIColor colorWithRed:247.0/255.0f green:247.0/255.0f blue:247.0/255.0f alpha:1.0f]];
}
}
(c)в cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyIdentifier"] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
//Create your lables/buttons/text/image
nameLabel.test=@"Whatever"; ..... ......
……
if (indexPath.row < [YourArray count]) { Populate your data here in the cells } else { cell.userInteractionEnabled=FALSE; nameLabel.text=@""; } return cell; }
Ответ №2:
Добавьте фиктивные ячейки в конец вашего списка.
Комментарии:
1. я могу это сделать, но мне было интересно, есть ли более подходящий способ