4

我想在 Interface Builder 中安静地设计我的视图,然后能够将它们动态地显示为 UIPopoverController。

我找到了 Ray Wenderlich 的这个宝贵教程,但我无法将其扩展到我的需要。

任何人都可以帮助我吗?

4

1 回答 1

7

这是我通常的做法:假设我有一个父视图控制器,我想在其中显示弹出框。我将弹出控制器声明为该 VC 的属性(@property (nonatomic, retain) 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 方面的经验不到一年,但这就是我们通常在我工作的地方这样做的方式

于 2012-05-04T12:39:32.893 回答