2010-07-27 4 views
1

내 앱은 아이폰의 기본 주소록 앱과 모양이 비슷합니다. 각 알파벳에는 주소록 (A, B ...)에 섹션 헤더가 회색 그라디언트 배경색으로 표시됩니다. 기본 색상을 다른 색상으로 바꿀 수 있습니까?섹션 헤더 제목의 배경색 변경 (일반 테이블 뷰)

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

당신은 아마도 제대로 새 단면 뷰 표시를 보장하기 위해 높이 메소드를 구현하는 것이 좋습니다 :

답변

1

당신은 UITableViewDelegate에서 다음과 같은 방법을 구현하여 jQuery과의 섹션 헤더를 대체 할 수있다 :

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

은 섹션 헤더의 색상을 변경할 그 안에있는 UIImageView와의 UIView를 생성하고, t위한 UILabel의하기 섹션의 ext. UIImageView에 배경을 보이게하는 방법에 대한 이미지를 추가하십시오.

AFAIK, 단면보기의 tintColor를 조작 할 수 없습니다.

4
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    // create the parent view that will hold header Label 
    UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 25.0)]; 

    // create the button object 
    UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero]; 
    headerLabel.backgroundColor = [UIColor blackColor]; 
    headerLabel.opaque = NO; 
    headerLabel.textColor = [UIColor whiteColor]; 
    headerLabel.highlightedTextColor = [UIColor whiteColor]; 
    headerLabel.font = [UIFont boldSystemFontOfSize:20]; 
    headerLabel.frame = CGRectMake(0.0, 0.0, 320.0, 22.0); 

    // If you want to align the header text as centered 
    //headerLabel.frame = CGRectMake(150.0, 0.0, 300.0, 44.0); 

    headerLabel.text = @"Name of header"; 

    [customView addSubview:headerLabel]; 

    return customView; 

}