У меня есть странное поведение на iPad, которое я не получаю на iPhone.Заголовок UITableView для раздела появляется только при прокрутке вниз
У меня есть представление в виде группы с разделом и заголовками для разделов, проблема в том, что на iPad заголовок верхнего большинства разделов не отображается, при прокрутке таблицы заголовок разделов отображается ненадолго перед движение экрана.
Перед прокрутке
После прокрутки
Код для создания заголовков разделов:
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
if (sectionTitle == nil || [sectionTitle isEqualToString:@""]) {
return nil;
}
// Create label with section title
UILabel *label = [[UILabel alloc] init] ;
label.frame = CGRectMake(12, 0, 300, 30);
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor blackColor];
label.shadowColor = [UIColor whiteColor];
label.shadowOffset = CGSizeMake(0.0, 1.0);
label.font = [UIFont boldSystemFontOfSize:16];
label.text = sectionTitle;
UIImage *img = [UIImage imageNamed:@"header"];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 0, 300, 44)];
imgView.image = img;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 44)];
[view addSubview:imgView];
[view addSubview:label];
return view;
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
int aSection = [[self.sectionsToDisplay objectAtIndex:section] integerValue];
return [self.groupHeadings objectAtIndex:aSection];
}
код Мой Tableview в:
tableViewResult = [[UITableView alloc] initWithFrame:mainView.frame style:UITableViewStyleGrouped];
tableViewResult.separatorColor = [UIColor clearColor];
[mainView addSubview:tableViewResult];
Я поставил делегат и источник данных в другом методе, как я сначала сделать веб-запрос перед загрузкой каких-либо данных в таблицу, то есть, когда запрос веб делается я:
tableViewResult.delegate = self;
tableViewResult.dataSource = self;
[tableViewResult reloadData];
все работает как и ожидалось, за исключением заголовка самого верхнего раздела, и только на iPad.
Любые идеи, что может вызвать такое поведение?
Как вы создаете TableView, из Interface Builder или кода ?. Какова высота заголовка ?. Можете ли вы загрузить скриншот ?. –
Я строю его из кода, загружаю скриншоты. – Armand
Вы писали метод для раздела раздела. – Mangesh