[iphone] UITableView에서 섹션 헤더의 기본 높이
UITableView에서 첫 번째 헤더의 높이를 설정하고 싶습니다. 다른 헤더의 경우 기본 높이로 유지하고 싶습니다. 아래 코드에서 “someDefaultHeight”대신 어떤 값 / 상수를 입력 할 수 있습니까?
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return kFirstHeaderHeight;
return someDefaultHeight;
}
감사
답변
iOS 5.0 이상에서는 대부분의 대리자 메서드에서 UITableViewAutomaticDimension을 반환 할 수 있습니다. 설명서 페이지 하단에 있습니다.
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if(section == CUSTOM_SECTION)
{
return CUSTOM_VALUE;
}
return UITableViewAutomaticDimension;
}
답변
내 응용 프로그램의 기본값을 확인하면 그룹 테이블의 경우 기본값은 22이고 그룹화되지 않은 테이블의 경우 기본값은 10입니다.
tableview에서 sectionHeaderHeight 속성의 값을 확인하면 알려줍니다.
답변
실제로 트릭을 수행 🙂
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if(section == 0)
return kFirstSectionHeaderHeight;
return [self sectionHeaderHeight];
}
답변
완성도를 높이기 위해 : iOS7 +에서는 그룹화 된 스타일 섹션 헤더의 높이 55.5
가 첫 번째 및 38
다음 헤더에 대한 높이입니다 . (DCIntrospect로 측정)
답변
신속한 4.2의 경우 UITableView.automaticDimension을 반환해야합니다.
답변
여기에 정답이 무엇인지 확실하지 않지만 iOS 5에서 그룹화 된 테이블보기의 경우 10 또는 22가 올바른 높이로 나타나지 않습니다. 이 질문에 따라 44를 사용 하고 있으며 대략적으로 나타납니다. 정확한 높이.
답변
기본 높이를 얻으려면 super
처리하십시오.
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return kFirstHeaderHeight;
return [super tableView:tableView heightForHeaderInSection:section];
}