2014-01-17 1 views
0

저는 Apple에서 X 코드로 제공하는 기본 마스터 - 세부 목록 앱 템플릿을 사용하고 있습니다. 템플릿 프로그램에서 테이블의 기본 제목은 "마스터"입니다. MasterViewController 구현으로 이동하여 제목을 변경하고 viewDidLoad 메서드에서 self.tableView.tableHeader 뷰를 내가 만든 UILabel로 설정하려고했습니다. 다음은이 작업을 수행하기 위해 시도한 코드입니다. 그러나 맨 위에는 "마스터"라는 제목이 변경되지 않고 제목 아래에 UILabel이 인쇄되어 목록의 첫 번째 섹션 머리글처럼 보이게됩니다.iOS에서 UITableView의 제목을 변경하는 데 문제가 발생했습니다.

UILabel* title = [[UILabel alloc] initWithFrame:CGRectMake(0.0, -self.tableView.contentInset.top, self.tableView.frame.size.width, self.tableView.sectionHeaderHeight)]; 

title.text = @"A Title Here"; 
self.tableView.tableHeaderView = title; 

또한 self.tableView.tableHeaderView = nil; 그리고 그것은 "주인"제목을 사라지게하지 않았다.

+0

, 모든'IBOutlet' 연결을 확인하십시오. – esqew

답변

1

tableView.tableHeader보기를 설정하면 정확히 "목록의 첫 번째 섹션 헤더"가 설정됩니다.

네비게이션 바에있는 뷰 자체의 제목 설정에 대해 이야기하고 있다면 레이블을 만들어 아무 것도 추가 할 필요가 없습니다. self.title = @ "여기 제목";

+0

그게 효과가! 고맙습니다! – TheSneak

+0

문제 없음 - 대답을 크게 받아 주시면 감사하겠습니다 :) – Mike

0

이 방법에 tableHeaderView을 변경할 수 있습니다 예를 들어

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

: 당신이 인터페이스 빌더를 사용하는 경우

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UILabel* title = [[UILabel alloc] initWithFrame:CGRectMake(0.0, -self.tableView.contentInset.top, self.tableView.frame.size.width, self.tableView.sectionHeaderHeight)]; 

    title.text = @"A Title Here"; 
    return title; 
} 
관련 문제