0

テーブルビューヘッダーの幅を変更するにはどうすればよいですか?

UITableViewと、ViewForHeaderInSectionで設定されたUIImageViewであるヘッダーがあります。

アプリを実行すると、ヘッダーは画面の幅まで伸びますが、行(画像も)は必要な幅になります。

高さは問題ないようです、問題は幅だけです。

ヘッダーとして設定する画像を作成するときに、そのフレームを作成しますが、何もしません。

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

UIImage *tableHeaderImage = [UIImage imageNamed:@"tableTop"];
UIImageView *headerImageView = [[[UIImageView alloc] initWithImage:tableHeaderImage] autorelease];

headerImageView.frame = CGRectMake(0,0,277,7);
NSLog(@"%@",headerImageView.frame.size.width);    

return headerImageView;
}

psそれはすべてプログラムでコード化されています。

4

1 に答える 1

1

を返す必要がありUIViewます。設定したら、画像ビューをサブビューとして追加し、ビューを返します。

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(tableView.frame), 7);
    UIImage *tableHeaderImage = [UIImage imageNamed:@"tableTop"];
    UIImageView *headerImageView = [[[UIImageView alloc] initWithImage:tableHeaderImage] autorelease];

    headerImageView.frame = CGRectMake(0,0,277,7);
    [view addSubview headerImageView];
    return view;
}
于 2012-08-10T03:42:32.733 に答える