Popover Segue可可故事板在El Capitan的Xcode 7 Beta 6中改变位置

时间:2015-08-28 05:36:41

标签: xcode cocoa storyboard

这是一个非常具体的问题,但El Capitan上的Xcode 7 Beta 6似乎改变了Popover Segues的锚定方式。而不是从按钮锚定本身,弹出锚定从封闭视图。其他人是否经历过这种情况并找到了解决问题的方法?

例如,这是一个带有按钮的新项目,即使segue锚定在按钮上,弹出也会从视图的顶部显示。

enter image description here

1 个答案:

答案 0 :(得分:6)

不幸的是,Xcode 7.0.1和El Capitan 10.11仍然会出现这种情况,因此我们需要按照评论中的说明以编程方式执行此操作。此代码段可能有所帮助:

class ViewController: NSViewController {

    var popover = NSPopover()

    @IBOutlet var button: NSButton?

    @IBAction func pressButton(sender: AnyObject?) {
        let mainStoryboard: NSStoryboard = NSStoryboard(name: "Main", bundle: nil)
        guard let windowController = mainStoryboard.instantiateControllerWithIdentifier("Popover") as? NSViewController else { return }

        popover.contentViewController = windowController
        popover.behavior = .Transient
        popover.showRelativeToRect(button!.bounds, ofView: sender as! NSView, preferredEdge: .MaxY)
    }

}