2017-07-02 3 views
0

私は1週間以来解決できない大きな問題があります。 私の状況:dismiss nspopoverが動作しません

私はNSTableviewとカスタムセルを持つViewControllerを持っています。各売りでnsbuttonです。ボタンを押すと、nspopoverが表示されます。 がありますが、終了ボタンを使用して閉じることができます。このボタンは、dismiss-functionに割り当てられています。 プラスボタン(テーブルビューの外)を押した場合、同じポップオーバーが表示され、問題なく「閉じる」ボタンで閉じることができます。

何が間違っていますか? Googleドライブ経由でサンプルプロジェクトを添付しました。あなたの助けのための 感謝:

ダウンロード:ビューコントローラが提示ビューコントローラを(私はなぜ知らない)持っていない場合https://drive.google.com/open?id=0B8PBtMQt9GdORUxQRXRISWR5dWs

+0

'NSTableViewController'?そして何が問題なの? – Willeke

+0

説明が間違っています。 NSTableViewを含むView Controller。私の問題は最初の投稿で読むことができます。 – Ghost108

+0

ボタンを押すとポップオーバーが表示され、閉じるボタンを押すとポップオーバーは問題なく消えますか? – Willeke

答えて

1

dismissViewControllerは動作しません。ダウンロードされたプロジェクトから始めて、次のように変更します。CustomCellからTableViewControllershowPopoverアクションを移動

  1. を。 senderのタイプをNSButtonに変更します。

  2. ポップオーバーを表示する代わりに、表示コントローラを表示します。

    @IBAction func showPopover(_ sender: NSButton) { 
        let vcPopover = NSStoryboard(name: "Main", bundle: nil).instantiateController(withIdentifier: "vcPopover") as! NSViewController 
        self.presentViewController(vcPopover, asPopoverRelativeTo : sender.bounds, of : sender, preferredEdge: .maxX, behavior: .transient) 
    } 
    
  3. 表ビューコントローラとアクションshowPopoverに、テーブルビューのボタンのアクションを接続します。

+0

私はステップ2までのすべてのステップを行いますが、ステップ3では問題があります。私は私のテーブルビューのセルボタンを関数showPopoverに接続する必要がありますか? – Ghost108

+0

大丈夫です。それは完璧に動作します!どうもありがとう – Ghost108

関連する問題