【问题标题】:Popover Segue Cocoa Storyboard changing position in Xcode 7 Beta 6 on El CapitanPopover Segue Cocoa Storyboard 在 El Capitan 上的 Xcode 7 Beta 6 中更改位置
【发布时间】:2015-11-22 16:47:29
【问题描述】:

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

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

【问题讨论】:

  • 是的,我看到了同样的行为。现在正在寻找解决方案……
  • @theory 我只是重写了我的应用程序以编程方式创建弹出框。有点烦人,但现在可以正常工作了。 developer.apple.com/library/mac/samplecode/Popover/Introduction/…
  • 我在rdar://22690997举报了。
  • @theory 是的,我已经报告过了。 rdar://22475993
  • 我的被标记为 rdar://22436455 的副本并关闭。我希望 Xcode 很快就会更新!

标签: xcode cocoa storyboard


【解决方案1】:

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

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)
    }

}

【讨论】:

  • 版本 7.2 (7C68)... 仅使用情节提要仍然无法正常工作... :( 很好的解决方案!
猜你喜欢
  • 2015-10-26
  • 2015-09-22
  • 2016-11-25
  • 2012-11-07
  • 1970-01-01
  • 2015-12-17
  • 2016-01-02
  • 2016-08-08
  • 2016-03-12
相关资源
最近更新 更多