4

Interface Builder でビューを静かに設計し、それらを UIPopoverController として動的に表示できるようにしたいと考えています。

Ray Wenderlich によるこの貴重なチュートリアルを見つけましたが、自分のニーズに合わせて拡張することはできません。

誰でも私を助けることができますか?

4

1 に答える 1

7

これが私が通常行う方法です。ポップオーバーを表示したい親View Controllerがあるとしましょう。その VC のプロパティとしてポップオーバー コントローラーを宣言します ( @property (nonatomic, keep) UIPopoverController* popOverController; )。

新しいビュー コントローラーでポップオーバーを表示するためのコード (ViewController2 と呼びましょう) は次のようになります。

ViewController2* viewController2 = [[ViewController2 alloc] initWithNibName:@"ViewController2"  bundle:nil];

self.popOverController = [[UIPopoverController alloc] initWithContentViewController:viewController2];

popOverController.popoverContentSize = CGSizeMake(350, 216); //or whatever size you need

//this will present the view controller from the sender's frame, assuming this code is used inside an IBAction 
//and the popover's arrow will point down
[popOverController presentPopoverFromRect:[sender frame] inView:self.view  permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 

[viewController2 release];

[popOverController release];

それだけです...何か問題が発生した場合は、さらに情報を提供しようとします。

PS 私はこれが最善の方法であると主張しているわけではありません。私は iO の経験が 1 年未満ですが、私が働いている場所では通常そうしています。

于 2012-05-04T12:39:32.893 に答える