我想顯示帶自定義標題標題的表。 table view
附加到controller class
,該controller class
實現了tableview delegate
和數據源協議,但不是UIViewController
的子類,因爲該表是子視圖,要顯示在另一個tableview上方。UITableView:自定義標題標題視圖不顯示
我的一些代碼片段: 的實現代碼如下的編程方式創建:
_myListView = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStyleGrouped];
[_myListView setDataSource:self.myListController];
[_myListView setDelegate:self.myListController];
[_myListView setBackgroundColor:darkBackgroundColor];
其中myListController是班上一個強大的屬性。
對於行中部分的數量:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
…
return count;
}
區段的數目:
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [someDelegate sectionCount];
}
對於自定義首部視圖:
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView* headerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, SectionHeaderHeight)];
UILabel* sectionHeaderTitle = [[UILabel alloc] initWithFrame:CGRectMake(20, 3, 300, 24)];
[headerView setBackgroundColor:[UIColor clearColor]];
sectionHeaderTitle.text = [self myTitleForHeaderInSection:section];
sectionHeaderTitle.textColor = [UIColor whiteColor];
sectionHeaderTitle.textAlignment = UITextAlignmentLeft;
[headerView addSubview:sectionHeaderTitle];
return headerView;
}
對於自定義headerViewHeight(如自iOS5以來需要):
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if ([self tableView:tableView numberOfRowsInSection:section] > 0) {
return SectionHeaderHeight;
} else {
return 0;
}
}
不幸的是,tableview不顯示任何節標題,就像我會返回零。 但是,我已經檢查了一個斷點,該代碼實際上返回一個UIView。
其他一切正常。
我錯過了什麼?請放心,不要猶豫,讓我爲自己感到羞愧。
你爲什麼不能設置背景顏色爲你的「headerView」和檢查,它是可見的?編輯:*也爲'sectionHeaderTitle'標籤... – Nina
已經做到了,嘗試redColor都沒有成功 –
我試過你的'viewForHeaderInSection'在我的項目。它對我來說工作得很好。 – Nina