2013-09-29 2 views
0

저는 애플의 예제 애플리케이션 CoreDataBooks처럼 UITableView 섹션 헤더를 구현하는 방법을 궁금해 왔습니다. 이 비디오에서 봐 주시기 바랍니다 :CoreDataBooks에서 UITableView 섹션 헤더를 만드는 방법은 무엇입니까?

video on youtube

  1. 이러한 헤더는 일반 헤더에서 다른 보인다. 나는 전에 그런 머리말을 본 적이 없다.
  2. 테이블을 스크롤 할 때 머리글이 다음 머리글에서 아래쪽으로 밀릴 때까지 위로 이동하지 않습니다.

CoreDataBooks 코드의 각 행을 살펴본 결과 머리글이 보이게하고 어떻게 동작하는지 찾을 수 없습니다. 내가 찾을 수 있었던 유일한 방법은 (만약 내가 예상대로 빈 헤더 대신) - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 메서드에서 빈 문자열을 반환하면 헤더가 전혀 없다는 것입니다. 어떤 제안? 어떻게해야합니까?

+0

이 UITableViewStylePlain의 기본 동작은 다음과 같습니다 당신은 UITableViewDelegate "viewForHeaderInSection"

사용의 exemple을 구현하여이 결과를 얻을 수 있습니다. –

+0

UITableViewStyleGroup을 사용하는 경우 헤더가 맨 아래로 이동합니다. UITableViewStylePlain을 사용하면 비디오에서와 같은 동작이 기본값입니다. 헤더는 기본값입니다. –

답변

0

잘 모르겠지만 사용자 정의 섹션보기를 사용하는 것으로 보입니다.

-(UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    //Header image have the same heigth that section 
    UIImageView *letterUIImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:<header image>]]; 

    UILabel *letterUILabel = [[[UILabel alloc] initWithFrame:CGRectMake(5, 3, 300, 18)] autorelease]; 

    [letterUIImageView setAlpha:0.5]; 

    [letterUILabel setTextColor:[UIColor whiteColor]]; 
    [letterUILabel setBackgroundColor:[UIColor clearColor]]; 
    [letterUILabel setFont:[UIFont fontWithName: @"HelveticaNeue-Bold" size: 14.0f]]; 
    [letterUIImageView addSubview:letterUILabel]; 

    [letterUILabel setText:[self titleForHeaderInSection:section]]; 

    return letterUIImageView; 
} 
관련 문제