0

現在、独自のカスタム セクション ヘッダーを作成していますが、コードを使用してテキストを編集したことは一度もありません。また、カスタム ヘッダーを設定するために使用している新しいメソッドは、ここに画像の説明を入力以下に示すように奇妙なことを行っています。

テキストを白に変更して少し太く、また白い背景を透明にしたいと思います..

これは私がこれを行うために使用しているコードです

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)];
    [headerView setBackgroundColor:[UIColor grayColor]];

    // Add the label
    UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.5, 20, 20)];

    // do whatever headerLabel configuration you want here


    headerLabel.text = [self tableView:tableView titleForHeaderInSection:section];
    [headerView addSubview:headerLabel];

    // Return the headerView
    return headerView;
}

私はこれを試しました

[headerLabel.backgroundColor:[UIColor clearColor]];

などですが、機能していません:(

4

3 に答える 3

5

文字を白に変更したいのですが...

ここでは、UILabel の textColor プロパティが役に立ちます。

そして少し大胆に...

問題ない! headerLabel.font = [UIFont boldSystemFontOfSize:mySize];

そして、白い透明な背景を作ります。

おっ、おっ、これは今まで見た中で最悪のセッター構文​​です!!! 私の主よ、 myLabel.backgroundColor はゲッターです、変更:

[headerLabel.backgroundColor:[UIColor clearColor]];

に:

[headerLabel setBackgroundColor:[UIColor clearColor]];

幸運なことに、構文を使用すると、ラベルの背景色がデフォルトで白に設定されている nil にメッセージが送信されます。

于 2012-04-16T05:05:58.290 に答える
2

次のコードを使用...

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

UILabel *headername = [[UILabel alloc]initWithFrame:CGRectMake(20, 5, 270, 34)];
headername.backgroundColor = [UIColor clearColor];
headername.textColor = [UIColor blackColor];
if(section == 0)
{
    headername.text = @"Name that u wish";
}

else
{
    headername.text = @"Name that u wish";
}
UIView *headerView = [[UIView alloc] init];
UIImageView *tempimage = [[UIImageView alloc]initWithFrame:CGRectMake(10, 5, 300,34)];
tempimage.image = [UIImage imageNamed:@"whitebackground.png"];

[headerView addSubview:tempimage];
[headerView addSubview:headername];

return  headerView;
}

うまくいけば、これはあなたを助けるでしょう...寒さ

于 2012-04-16T05:09:18.090 に答える
0

テーブル内のカスタマイズされたヘッダーを取得するために私が行ったのは次のとおりであり、それは私にとっては正常に機能しています

UIView *containerView =
    [[[UIView alloc]
        initWithFrame:CGRectMake(0, 0, 300, 60)]
    autorelease];
UILabel *headerLabel =
    [[[UILabel alloc]
        initWithFrame:CGRectMake(10, 20, 300, 40)]
    autorelease];
headerLabel.text = NSLocalizedString(@"Header for the table", @"");
headerLabel.textColor = [UIColor whiteColor];
headerLabel.shadowColor = [UIColor blackColor];
headerLabel.shadowOffset = CGSizeMake(0, 1);
headerLabel.font = [UIFont boldSystemFontOfSize:22];
headerLabel.backgroundColor = [UIColor clearColor];
[containerView addSubview:headerLabel];
self.tableView.tableHeaderView = containerView;

私はそれをviewDidLoad:メソッドに入れるだけです

于 2012-04-16T05:10:29.577 に答える