3

セルの自動サイズ変更マスクで柔軟な幅が可能であることを確認しましたが、デバイスを回転させてもセルのサイズが変更されません。

テーブルビューのサイズが変更されていることも確認しました。問題はセルに直接あります。

これは、セルを作成するために使用しているコードです。

if (cell == nil) {
        // Load the top-level objects from the custom cell XIB.
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"MetaTableViewCell" owner:self options:nil];
        // Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).
        cell = [topLevelObjects objectAtIndex:0];
    }

誰かが何が間違っているのか考えられますか?

IB を使用して作成されたセルのサイズは変更されませんか?

4

2 に答える 2

1

UITableViewサイズが変更されていないセルの高さの場合は、回転後にデリゲート メソッドを変更することをお勧めします。

-

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if(condition)// has rotation taken place
    // new height
    else
    // old height
    }

[tableView reloadData];ローテーションが行われたときに電話するようにしてください。

于 2011-03-18T09:09:44.173 に答える
0

私があなたの質問を理解したら、UITableViewCells の高さを変更したいと思いますよね? TableView のデリゲートに次の行を追加してみてください。

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return *height*;
}

私は同じ問題を抱えていました。IB でサイズを設定すると、さらに多くのものを入れることができますが、読み込み時にデリゲートに高さを尋ねます。デリゲートがこのメソッドを実装していない場合は、単にデフォルトの高さが使用されます。

于 2011-03-18T09:05:54.410 に答える