由于您在问题中没有指定目标设备,所以我给了您 Ipad 答案
IPAD:
转到您的故事板拖放viewcontroller 或tableviewcontroller 由您决定。然后在情节提要上创建一个从所需的viewcontroller 到新拖放的viewcontroller 的segue。选择你的segue为popOver。
确保您在 segue 设置中选择一个锚点,如上图。然后你需要编辑你的 popover 的大小。如果是uiviewcontroller 选择它的视图,如果它是tableviewcontroller 在界面生成器的左侧选择它的tableview 并编辑它的大小。
第一:
第二:
之后自定义您的弹出视图控制器(拖放视图控制器)添加按钮,标记任何您想要的。
如果您要在弹出窗口中执行其他操作:
不要忘记创建新文件 -> uiviewcontroller 或 uitableviewcontroller 的子类。然后将它与故事板上新创建的视图控制器相关联。
IPHONE:
iphone中没有Popover控制器
但您尝试使用第三方https://github.com/50pixels/FPPopover 解决方案,该解决方案通过使用QuartzCore 来模仿iphone 中的弹出框行为
我会尝试以下:
第一:
再次将uiviewcontoller 拖放到情节提要中,然后创建一个新文件-> uiviewcontroller 的子类。
这个新的uiviewcontroller 将位于您故事板的角落
然后将情节提要中的 uiviewcontroller 与 new Created file 相关联,假设您使用 YourViewController 创建了一个新文件名。给你的视图一个故事板ID并选择它的类名。
-(IBAction)buttonClicked:(UIButton*)okButton
{
//the view controller you want to present as popover
YourViewController *controller = [[YourViewController alloc] init];
//if [[YourViewController alloc] init]; doesn't work try this
// UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle:nil];
//YourViewController *controller = [sb instantiateViewControllerWithIdentifier:@"YourViewController"];
//our popover
FPPopoverController *popover = [[FPPopoverController alloc] initWithViewController:controller];
//the popover will be presented from the okButton view
[popover presentPopoverFromView:okButton];
//no release (ARC enable)
//[controller release];
}
注意:我之前没有使用过 FPPopover,所以不知道如何安排屏幕大小,但必须在他们的文档中有进一步的解释,只是阅读它。