2012-05-27 79 views

回答

2

我找到了答案,它不可能獲得表視圖部分的標題視圖。但是,您可以實施代理tableView:viewForHeaderInSection:以重新創建標題視圖和標籤。以下代碼將爲您提供相同的標題視圖和確切的標籤。

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

    NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section]; 

    if (sectionTitle == nil) { 
     return nil; 
    } 

    // Create label with section title 
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 5.5f, 300.0f, 30.0f)]; 
    label.backgroundColor = [UIColor clearColor]; 
    label.font = [UIFont boldSystemFontOfSize:16.5]; 
    label.shadowColor = [UIColor whiteColor]; 
    label.shadowOffset = CGSizeMake(0.0, 1.0); 
    label.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth; 
    label.text = sectionTitle; 

    // Create header view and add label as a subview 
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 44.0f)]; 
    view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth; 
    [view addSubview:label]; 

    return view; 
} 
0

這很好,你想出了你的解決方案。

一對夫婦的建議:

  1. 不要硬編碼的CGRect您邊框的寬度,而要用self.view.size.width的寬度(例如,如果你在橫向或者蘋果曾經是推出一款具有不同屏幕尺寸的iPhone);

  2. 你可能想使用autoresizingMask爲標籤和保存標籤視圖兩種,這樣他們就會調整尺寸,屏幕方向的變化,或者確保您的方向變化調用[self.tableview reloadData];和

  3. 這顯然是一個單行標籤......如果可以爲你的作品很好,否則你想使用sizeWithFont:constrainedToSize:lineBreakMode確定的高度,無論是對創建標籤/視圖以及響應tableView:heightForHeaderInSection:

0

您還需要添加文字顏色:

label.textColor = [UIColor colorWithRed:0.265 green:0.294 blue:0.367 alpha:1.000];