2012-01-30 3 views
0

그룹화 된 머리글에 대한 사용자 지정 UIView를 만들려고합니다 UITableView. 이것은 내가 지금까지 놀고있는 코드입니다 :tableView 대리자 메서드에 대한 UIView 사용자 지정

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    Target *aTarget = [targetDictionary objectForKey:[NSNumber numberWithInteger:section]]; 
    UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, self.TargetTableView.frame.size.width, 20)]; 
    headerLabel.text = [NSString stringWithFormat:@"%@", aTarget.condition]; 
    headerLabel.textColor = [UIColor whiteColor]; 
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.TargetTableView.frame.size.width, 200)]; 
    headerView.backgroundColor = [UIColor orangeColor]; 
// [headerView addSubview:headerLabel]; 

    return [headerView autorelease]; 
} 

몇 질문. 내 headerView 들어, 높이 40 싶었지만 너무 작게 보였다. 그런 다음 그것을 60으로 변경했고, 전혀 변화가없는 것을 보았습니다. UITableView (나는이 데이터를 내가 중요하다고 생각하지 않는 popover에 제시하고 있습니다). 그래서 높이를 200으로 바꿨습니다. 변화가 있는지, 그리고 오렌지색보기는 작은 지 알기 위해서였습니다. 아마도 상태 표시 줄만큼 클 것입니다.

다음으로 내 UILabel이 있습니다. 나는 그것이 내 UIView을 중심으로 somehwat되고 싶습니다. 내가 그것을 보여줄 때, 심지어 내 UIView에 있지 않습니다. 내 UITableView의 첫 번째 행 위에 있습니다. CGRectMake()으로 초기화 할 때 상위 뷰의 좌표 또는이 뷰를 이동하는 것으로 설정합니까? 나는 header.View에 추가 한 후에 위치를 지정하고 싶습니다.

마지막으로 tableView에 간단한 배경 그라디언트를 추가하려면 UITableView.backgroundColor = [UIColor clearColor]을 설정하고 backgroundView를 그라데이션으로 설정해야합니까? 그것도 작동하지 않는 것 같습니까? 그룹화 된 tableView의 기본 색상 만 볼 수 있습니다. 감사.

+0

아마도 이것을 별도의 질문으로 나눌 필요가있을 것입니다. 첫 번째로'tableView : heightForHeaderInSection :'을 구현 했습니까? – jrturton

답변

0

높이를 테이블 뷰의 지정된 방법 tableView:heightForHeaderInSection:에 추가하면 머리글 높이의 문제를 해결할 수 있습니다.

색상 문제는 세포 배경색을 clearColor으로 설정하고 원하는 효과를 얻을 수 있어야한다고 생각합니다.

UILabel의 경우 가운데로 가져 오는 가장 좋은 방법은 헤더보기와 동일한 너비와 높이로 만들고 textAlignment 속성을 UITextAlignmentCenter으로 설정하는 것입니다.

관련 문제