Popover没有附加到锚

时间:2015-10-06 08:04:00

标签: macos cocoa popover xcode-storyboard

我想用弹出窗口显示一个按钮,该按钮是我视图的一部分(例如按钮位于我的主视图中)。我在Interface Builder故事板编辑器中执行此操作(从按钮拖动到弹出内容视图)。弹出窗口显示但未附加到按钮。我发现工具栏弹出窗口上的按钮按预期附加到按钮上。 segue的锚属性设置为此按钮。 Xcode 7.0.1版(7A1001)。

编辑:我所做的图像: 1)故事板。首先我按住从工具栏按钮拖动到第一个控制器,然后从第二个按钮ctrl拖动到第二个控制器。 enter image description here 2)正确附着的弹出窗口 enter image description here 3)Popover不附加到视图按钮。 enter image description here

1 个答案:

答案 0 :(得分:1)

你是对的。以下方法显示发送视图为零,默认情况下,窗口的内容视图用于弹出窗口。

所以要修复一下,检查一下locateView是否为零。如果是,请将其设置为按钮(为其创建插座)。

将以下方法添加到viewController

- (void)presentViewController:(NSViewController *)viewController asPopoverRelativeToRect:(NSRect)positioningRect ofView:(NSView *)positioningView preferredEdge:(NSRectEdge)preferredEdge behavior:(NSPopoverBehavior)behavior
{
  //do custom implementation (workaround)
  [super presentViewController:viewController asPopoverRelativeToRect:positioningRect ofView:positioningView preferredEdge:preferredEdge behavior:behavior];
}