我使用以下屏幕设置创建了一个示例应用程序
单击加载弹出按钮只需调用以下代码:
@IBAction func clicked(sender: AnyObject) {
self.performSegueWithIdentifier("test", sender:self)
}
正如你在segue属性中看到的那样,segue所做的就是加载viewcontroller,其中锚点视图是按钮testAnchor3
问题是:我不知道为什么视图没有锚定。当我点击LoadPopover按钮时,另一个视图控制器确实加载为弹出窗口,但它锚定在屏幕中间,而不是像它应该的那样在按钮下面。如何让popover正确锚定?
答案 0 :(得分:0)
为您的按钮创建一个插座,并将其作为视图放在presentViewController:
toView
中。
- (void)presentViewController:(NSViewController *)viewController asPopoverRelativeToRect:(NSRect)positioningRect ofView:(NSView *)positioningView preferredEdge:(NSRectEdge)preferredEdge behavior:(NSPopoverBehavior)behavior
{
//Change the ofView to be your button outlet
[super presentViewController:viewController asPopoverRelativeToRect:positioningRect ofView:popOverButton preferredEdge:preferredEdge behavior:behavior];
}