【iPhone開発】UIPopoverControllerの描画エリア
UIPopoverControllerはpopoverContentSizeプロパティまたはcontentSizeForViewInPopoverプロパティで画面サイズを変更することができますが、これらのプロパティに同じ値を設定しても描画エリアが異なるので注意が必要です。
popover.popoverContentSize = CGSizeMake(320, 480);
実際の描画エリア:320×443
self.contentSizeForViewInPopover = CGSizeMake(320, 480);
実際の描画エリア:320×480
popoverContentSizeはheightが37px小さくなります
なんかすっきりしないのでポップオーバーのサイズを指定したい場合はcontentSizeForViewInPopoverを使うのがよさそうです
あとUIPopoverController内のUIViewControllerのinitでself.view.frameの値を調べると
size=(width=748, height=1024) (ランドスケープ(横)モード時)
または
size=(width=768, height=1004) (ポートレート(縦)モード時)
がセットされているので、この値を使ってUIViewを作ったりするととんでもない大きさになります。iPhoneのソースをそのまま使う場合は要注意です。viewWillAppearで調べるとちゃんとポップオーバー内のviewのサイズが得られます










