2011-06-21 15 views
2

私はそうのように計算された上でCGRectから提示UIPopoverControllerありますUIPopoverControllerのコンテンツビューのサイズ

MarkersPopViewController *markersPop = [[MarkersPopViewController alloc] initWithNibName:@"MarkersPopView" bundle:nil]; 
self.TestPopoverController = [[[UIPopoverController alloc] initWithContentViewController:markersPop] autorelease]; 
[TestPopoverController presentPopoverFromRect:CGRectMake(20, 20, 700, 500) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES]; 

マイMarkersPopViewが.xibの大部分を占めるのUITableViewを持つコンテナ図であり、かつをUITegmentControlをUITableViewの一番上に配置します。 UITableViewは、各行が(700,100)であるUITableViewCellのカスタムサブクラスを使用します。

私のアプリを実行すると、PopoverControllerはおそらく50ポイントの幅しかなく、画面の左側を抱きしめます。私は最初のビューのために適切な幅にしたいと思います。 UIPopoverControllerがとても小さい理由はありますか? setPopoverContentSize:が使用されていない場合、UIPopoverControllerがコンテンツビューのデフォルトサイズを使用すると考えました。ありがとう。

答えて

5

presentPopoverFromRectに渡されるCGRectは、のサイドにのポップオーバーが表示される矩形です。ポップオーバーがに表示されるフレームではありません。

矢印がポップオーバーの右側にあることを要求しているので、20,20,700,500の左にポップオーバーを表示しようとします。

20,20でポップオーバーを表示するには(実際に矢印の先端が表示される)、20,20,1,1のCGRectを渡します。

さらに、popoverContentSizeを指定する必要があります。

関連する問題