如何将使用Interface Builder创建的视图显示为UIPopoverController?

glu*_*uon 4 interface-builder uiview uipopovercontroller ios

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

我找到了Ray Wenderlich的这个宝贵的教程,但我不能将它扩展到我的需要.

有人可以帮帮我吗?

BBo*_*Bog 7

这是我通常这样做的方式:假设我有一个父视图控制器,我想在其中呈现弹出窗口.我声明一个popover控制器作为该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];
Run Code Online (Sandbox Code Playgroud)

这就是它......如果你遇到任何问题,我会试着给你更多的信息.

PS我不是说这是最好的方法,我对iOs的经验不到一年,但这就是我们通常在工作的地方做的事情