次のコードを使用してポップオーバーを作成しています。風景のポップオーバーメニューが画面全体を占めています
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"popover"]) {
self.popoverTvc = [segue destinationViewController];
self.popoverTvc.popoverPresentationController.delegate = self;
}
}
ユーザは、ナビゲーションバーのボタンをクリックすると、ポップオーバースタイルの上記セグエがトリガされ、得られたビュー・コントローラはテーブルビューを持っています。
問題は、ポートレートモードで
は、テーブルビューのサイズは、利用可能なコンテンツのサイズ通りである、ということです。しかし、ビューを風景から肖像画に変更すると、テーブルビューには空のセルが表示され、空のセルがUIをブロックしています。どうしてこんなことに?私は、風景モードでも画面全体をブロックしないようにtableviewをしたい。ビューで次のコードを使用して
Imがテーブルビュー
if (self.tableView && self.presentingViewController) {
self.preferredContentSize = [self.tableView sizeThatFits:self.presentingViewController.view.bounds.size];
}
をサイズは180x128 – Roger
まま。 preferredContentSize = [self.tableView sizeThatFits:self.presentingViewController.view.bounds.size]; ---代わりに dvc.preferredContentSize = CGSizeMake(180,128); –
ビューをランドスケープに変更すると、ビュー全体が画面全体を覆っているので、ビューはまだ静止しています – Roger