[英]How to add multiple cells in header of a table view (not section header)?
我想實現這樣的分段控件(用紅色圈出):
(當我們滾動此視圖時,分段控件在視圖的頂部保持粘性,這使我認為它是一個單獨的單元格,但我可能是錯的)。
我已經實現了一個自定義單元格(該單元格以紫色顯示上面圖片中紅色橢圓上方的內容),並將其添加到表格視圖的標題中,如下所示:
BigCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"BigCell"];
self.tableView.tableHeaderView = cell;
現在,我想我應該在其中創建帶有分段控件的第二個單元格,並將其也添加到表標題中(而不是在節標題中),因為我有很多帶有標題的節。
然后,我將創建一個包含這兩個單元格的UIView並將此視圖添加為tableView的標頭? 這是正確的方法嗎? 非常感謝你的幫助 !
我認為您有兩種選擇。
1)創建一個容器視圖來承載您的兩個“單元”(不必是UITableViewCells-只是視圖...)。 將單個容器視圖添加為表標題。
2)完全放棄使用表標題,而只是將視圖放在表上方,使其更短。 如果您使用的是UITableViewController,則更為復雜;如果僅將UITableView托管在其他自定義UIViewController中,則更為簡單。
這是一個帶有uilabel的示例,該示例始終位於頂部-只需將其更改為uisegmentedcontrol
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *viewForSectionHeader = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, SETTINGS_HEADER_HEIGHT)];
[viewForSectionHeader setBackgroundColor:[Utils colorHeaderBlue]];
UILabel *lblSectionTitle = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, SETTINGS_HEADER_HEIGHT)];
lblSectionTitle.text = @"PROFILE";
lblSectionTitle.textAlignment = NSTextAlignmentCenter;
lblSectionTitle.textColor = [UIColor whiteColor];
[viewForSectionHeader addSubview:lblSectionTitle];
return viewForSectionHeader;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.