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

时间:2012-05-03 11:48:12

标签: ios uiview interface-builder uipopovercontroller

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

我发现Ray Wenderlich this precious tutorial但是我无法将其扩展到我的需要。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分: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];

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

P.S。我并不是说这是最好的方式,我对iOs的经验不到一年,但这就是我们通常在工作的地方做的事情