2

ポップオーバーでさまざまなグループ化されたUITableViewを表示するアプリがあります。ポップオーバーを表示する前に、tableViewControllerでsetContentSizeForViewInPopoverを呼び出し、高さをtableViewController.tableView.contentSize.heightに設定しています。

これはiOS5では正常に機能しましたが、iOS 6では、フッターがあるかのように、UITableViewの最後のセルの下に余分なスペースがあります。setContentSizeForViewInPopoverを呼び出すと、スペースの高さを差し引くことができますが、これは厄介なハックのようです。

他の誰かがこれを経験しましたか?

4

3 に答える 3

2

私もこれを経験しました。

UITableView をサブクラス化し、これを viewDidLoad 内に追加することで、今のところ解決しました

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0.0f,0.0f,1.0f,1.0f)];

これに対するハックの少ない解決策も欲しいです。

于 2012-10-02T01:47:33.560 に答える
2

これは@Loksとほぼ同じ答えですが、間違いなくきれいです。

をサブクラス化する必要はありませんがUITableView、テーブルのフッターを次のように設定するだけです。

[tableView setTableFooterView:[UIView new]];

これにより、下部のスペースが削除され、GPU が別のビューを処理する必要がなくなります。これは、テーブルから余分な行と余分なスペースを削除するだけです。

これが役立つことを願っています!

于 2013-05-04T18:55:06.877 に答える
2

はい、悩ましい問題です。contentInset20px の余分な下マージンを補正するために使用できます。

tableView.contentInset = UIEdgeInsetsMake(0, 0, -20, 0);
于 2013-07-05T16:23:11.557 に答える