У меня возникает странное поведение в боковом меню. Вот то, что он должен выглядеть следующим образом:Ячейки UITableView в боковом меню исчезают
После нажатия на кнопку, расположенную справа от организации я использую этот код, чтобы показать еще некоторые клетки
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
Если я перейти из меню с помощью в организации клетки, показывая, а затем вернуться обратно в меню он показывает это:
Ячейки отображаются как скрытые, но когда я устанавливаю ячейки, чтобы они не были скрыты следующим образом: cell.hidden = NO; он по-прежнему отображается как скрытый.
Любые идеи относительно того, что происходит? В моем коде нет нигде, поэтому я устанавливаю любые ячейки как скрытые.
Если вам нужно больше кодов, то дайте мне знать.
Благодаря
Вот еще код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"MenuCell";
MenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil)
{
cell = [[MenuTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
if (indexPath.section == 0)
{
if (showOrgs && indexPath.row < organizations.count)
{
cell.label.text = [organizations objectAtIndex:indexPath.row];
cell.label.textColor = [UIColor whiteColor];
cell.leftImageView.hidden = YES;
cell.contentView.backgroundColor = [UIColor colorWithHex:@"#ff6b01" alpha:1.0];
cell.tag = 10002;
cell.leftButton.hidden = YES;
cell.righttButton.hidden = YES;
cell.leftButton.enabled = NO;
cell.righttButton.enabled = NO;
}
else if (showOrgs && indexPath.row >= organizations.count)
{
if (indexPath.row == organizations.count)
{
cell.label.text = [allUpper objectAtIndex:indexPath.row];//[organizations objectAtIndex:indexPath.row];
cell.contentView.backgroundColor = [UIColor whiteColor];
cell.label.textColor = [UIColor blackColor];
cell.tag = 10001;
[cell.leftImageView setImage:[UIImage imageNamed:@"dashboard"]];
cell.leftImageView.hidden = NO;
}
else
{
cell.label.text = [allUpper objectAtIndex:indexPath.row];
cell.label.textColor = [UIColor blackColor];
cell.contentView.backgroundColor = [UIColor whiteColor];
cell.tag = 10003;
if ([[allUpper objectAtIndex:indexPath.row] isEqualToString:@"All Media"])
{
cell.leftImageView.image = [UIImage imageNamed:@"image-btn"];
cell.leftImageView.hidden = NO;
}
}
}
NSLog(@"Row: %li", (long)indexPath.row);
if (!showOrgs && [[upperSection objectAtIndex:indexPath.row] isEqualToString:@"Dashboard"])
{
cell.label.text = [upperSection objectAtIndex:indexPath.row];//[organizations objectAtIndex:indexPath.row];
cell.contentView.backgroundColor = [UIColor whiteColor];
cell.tag = 10001;
cell.hidden = NO;
[cell.leftImageView setImage:[UIImage imageNamed:@"dashboard"]];
}
else if (!showOrgs && [[upperSection objectAtIndex:indexPath.row] isEqualToString:@"All Media"])
{
cell.label.text = [upperSection objectAtIndex:indexPath.row];
cell.contentView.backgroundColor = [UIColor whiteColor];
cell.tag = 10003;
cell.hidden = NO;
if ([[upperSection objectAtIndex:indexPath.row] isEqualToString:@"All Media"])
{
cell.leftImageView.image = [UIImage imageNamed:@"image-btn"];
}
}
}
// if (indexPath.section == 0 && showOrgs)
// cell.label.text = [organizations objectAtIndex:indexPath.row];
else if (indexPath.section == 1)
cell.label.text = [currentEvents objectAtIndex:indexPath.row];
else
cell.label.text = [allEvents objectAtIndex:indexPath.row];
return cell;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 0 && !showOrgs)
return upperSection.count;
else if (section == 0 && showOrgs)
return allUpper.count;
else if (section == 1)
return currentEvents.count;
else
return allEvents.count;
}
Не могли бы вы добавить код, чтобы было легче следовать? Какие ячейки добавляются при нажатии кнопки «Организация»? Что вызывает меню, чтобы вернуться к «нормальному» пути? –
@RaphaelSilva Я добавил метод cellForRowAtIndex. У меня просто есть жестко закодированные элементы в массиве, которые нужно добавить поверх списка. Когда меню закрыто, BOOL showOrgs установлен в no, а затем я перезагружаю tableview – linuxer
Можете ли вы показать свой метод 'numberOfRowsInSection'? – wottle