簡體   English   中英

如何在表視圖的標題(而不是節標題)中添加多個單元格?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM