0

セクションとタイトルがあり、次のようUITableViewに設定しています。titleForHeaderInSection

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
  return [NSString stringwithFormat :@"Section %d",section];
}

デフォルトでは、テキストカラーが白の灰色の背景が付属しています。他の色に変更するにはどうすればよいですか?

グーグルを調べて、に設定されていることがわかりましたviewForHeaderinSection。しかし、私はそれを setheaders に使用しなかったので、書きたくありません。

でどのように書けばよいtitleForHeaderInSectionでしょうか?

4

4 に答える 4

2

iOS 6 以降の場合

[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setTextColor:[UIColor whiteColor]];
[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setFont:[UIFont systemFontOfSize:18.0f]];
[[UIView appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setBackgroundColor:[UIColor redColor]];
于 2013-09-04T15:22:38.847 に答える
1

titleForHeaderInSection: このデリゲートは、UITableViewテキストのみを設定するために使用されます。以下に、戻り値の型 it を示しNSStringます。

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    // fixed font style. use custom view (UILabel) if you want something different
}

セクション ヘッダーのカスタマイズされたビューを実現するための唯一のオプションは、viewForHeaderInSectionデリゲート メソッドです。titleForHeaderInSectionまた、を使用してヘッダーのビューを設定する方法がないことを保証できます。viewForHeaderInSectionまた、titleForHeaderInSection以下のように実装することができます:

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    //Customized your view however you want.

    return myCustomizedView;
}
于 2013-01-19T12:34:04.083 に答える
1
   - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:  (NSInteger)section 
    {
       UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0,          tableView.bounds.size.width, 30)] autorelease];
       if (section == integerRepresentingYourSectionOfInterest)
             [headerView setBackgroundColor:[UIColor redColor]];
       else 
             [headerView setBackgroundColor:[UIColor clearColor]];
      return headerView;
    }
于 2013-01-19T12:06:30.203 に答える
0
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *tempView=[[[UIView alloc]initWithFrame:CGRectMake(0,0,300,25)]autorelease];
    tempView.backgroundColor=[UIColor grayColor];
    UILabel *tempLabel=[[UILabel alloc]initWithFrame:CGRectMake(0,0,300,25)];
    tempLabel.backgroundColor=[UIColor clearColor];
    NSString * headerText = [NSString stringWithFormat:@"%d",section];
    tempLabel.text= headerText;
    [tempView addSubview: tempLabel];
    [tempLabel release];
    return tempView;
}

- (float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 25;
}
于 2013-01-19T12:16:10.380 に答える