2

カスタムテーブルビューセルを作成しているので、デフォルトでテーブルビューセルの幅はテーブルビュー自体と同じ幅になると思いますか?

したがって、テーブルビューが作成された後、私は次のことを行いました。

NSLog(@"%f",self.view.frame.size.width);

...これは476.00を返し、カスタムテーブルビューセルをインスタンス化すると、代わりに320を返します...

NSLog(@"%f", self.frame.size.width);

セルの作成時または作成後に476の値が必要です...これをガイドラインとして使用して、必要な列数を確認しているためです...

では、どうすれば完全なセル幅を取得できますか?(ところで、背景を黄色で印刷した後、セルは行全体を取得します)

4

3 に答える 3

1

これを確認してください:

-(void)layoutSubviews
{
    // Set the UITableView frame here:
    [super layoutSubviews];
}
于 2012-05-03T07:16:16.647 に答える
0

ランドスケープモードで起動するようにiPhoneアプリを設定し、テーブルの幅とセルの幅をログに記録すると、同じ結果が得られます(テーブルをスクロールしてから、値が正しいワイド値に変更されるまで) 。setFrame:をサブクラス化していない限り、カスタムセルでは、セルの幅はテーブルの幅と同じになります。計算で(ビューの)self.view.frame.size.widthを使用してみませんか?

于 2012-05-03T17:49:52.217 に答える
0
guestTable =  [[UITableView alloc] initWithFrame:CGRectMake(0,74,320,340)      style:UITableViewStyleGrouped];

したがって、CGRectMakeではUITableViewを定義します。これはあなたが意味したことですか?セルをUITableView幅に自動設定する必要があります。

于 2012-05-03T02:49:26.530 に答える