1

UITableViewController表示しようとしている がありUIPopoverControllerます。何をしても、テーブルビューは常にポップオーバー内にフルサイズで表示されます。

私の StoryBoard では、UITableViewControllerの Size を Freeform に設定しました。UITableViewサイズ インスペクタで の高さと幅を明示的に設定しました。

コントローラーとポップオーバーをセットアップする方法は次のとおりです。

UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard-iPad" bundle:nil];

self.settingsController = [sb instantiateViewControllerWithIdentifier:@"SettingsViewControllerID"];

self.settingsPopover = [[UIPopoverController alloc] initWithContentViewController:_settingsController];

また、コントローラーのポップオーバー サイズを明示的に設定しようとしました。

self.settingsController.contentSizeForViewInPopover = CGSizeMake(400.0, 400.0);

アプリを実行してポップオーバーをアクティブにすると、メイン画面とほぼ同じ高さになります。

ここで明らかな何かが欠けていますか?

よろしくお願いします、CS

4

2 に答える 2

3

以下のコードを使用して、tableView のサイズを変更できます。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
      UIStoryboardPopoverSegue *popoverSegue;
      popoverSegue = (UIStoryboardPopoverSegue *)segue;
      UIPopoverController *popOverController = popoverSegue.popoverController;
      [_popOverController setPopoverContentSize:CGSizeMake(width, height)];
}
于 2013-02-06T08:51:02.940 に答える
0

UITableViewController は、常にウィンドウのフル サイズ、またはポップオーバー (特殊な種類のウィンドウ) になりたいと考えています。より小さなテーブル ビューが必要な場合は、代わりに UIViewController をポップオーバーのコンテンツ コントローラーとして使用します。その後、IB でサイズを変更できるはずです。

于 2012-12-13T22:23:29.293 に答える