2013-07-28 69 views
0

隱藏TableViewHeaderView所以我有這個泰伯維有幾節,(3)要準確。我希望這是對第2和第3,而不是第一部分頭..特定的TableView部分

我所做的繼承人什麼:

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

    UIView *tempView; 
    tempView = [[UIView alloc]initWithFrame:CGRectMake(0,0,300,20)]; 
    tempView.backgroundColor=[UIColor grayColor]; 

    UILabel *tempLabel = [[UILabel alloc]initWithFrame:CGRectMake(10,0,300,20)]; 
    tempLabel.backgroundColor = [UIColor clearColor]; 
    tempLabel.shadowColor = [UIColor blackColor]; 
    tempLabel.shadowOffset = CGSizeMake(0,2); 
    tempLabel.textColor = [UIColor whiteColor]; //here you can change the text color of header. 
    tempLabel.font = [UIFont fontWithName:@"Helvetica" size:14.0f]; 


    switch (section) 
    { 
      break; 
     case 1: 
     { 
      sectionName = NSLocalizedString(@"Information", @"Information"); 
      tempLabel.text = sectionName; 
      [tempView addSubview:tempLabel]; 
     } 
      break; 

     case 2: 
     { 
      sectionName = NSLocalizedString(@"Tools", @"Tools"); 
      tempLabel.text = sectionName; 
      [tempView addSubview:tempLabel]; 
     } 
      break; 

    } 
    return tempView; 
} 

我就需要做什麼困惑...繼承人一個圖片是怎麼回事:TableViewHeader

回答

2

在部分== 0的情況下,您仍將tempView設置爲UIView的新實例並返回該值,您只是不設置標籤的標題。另外,作爲你學習,你應該爲tableView:heightForHeaderInSection:返回0爲0節

0

所以,當我在寫這個問題我凸輪的結論......但也許它不是更有效率?

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    CGFloat headerheight = 20.0; 

    switch (section) 
    { 
     case 0: { headerheight = 0.0; } break; 
     case 1: { headerheight = 20.0; } break; 
     case 2: { headerheight = 20.0; } break; 
    } 
    return headerheight; 
} 

如果有人對我如何不需要實現這個tableview委託方法有什麼建議,請大聲說出來。我覺得像我剛纔難道不需要返回查看指定部分,而不是說一個章節標題爲0。但我不完全確定的那一刻,這個問題就解決了,但也許不能正確解決了嗎?

下面有一個解決方案的結果的照片。

Solution Pic

+0

是的,你也應該爲'的tableView返回0:heightForHeaderInSection:',但它是最好的,如果你還修改了'viewForHeaderInSection'到的情況下返回'nil'該部分== 0,待辦事項它在該方法的頂部。 –

+0

你認爲你可以爲我實現部分== 0的情況?我實現了viewForHeaderInSection方法像這樣,開關(部分) { 情況下0: { tableView.tableHeaderView =零; } break;它沒有工作:( – jsetting32

+0

只需添加這是該方法的第一行:'如果(部分== 0)返回零;'如果你這樣做,你不會需要一個'情況0'(和也。 ,你不會有創建一個標題視圖的開銷,你最終會放棄)。 –