2017-05-07 15 views
0

こんにちは皆さんはスマートです!私はXcode 8とSwift3の新機能で、「killer app」というフレーズに新しい意味を持ち出しています。それは私の年金を提供するチャンスを得る前に、私を殺すでしょう! :-)ストーリーボードの「閉じる」ボタンは、ビューコントローラーのIBActionにリンクしません。ウィンドウを閉じるには

私のOSXアプリケーションは、アップルメニューの右上にある居住用のアプリです(info.plistはApplicationがAgent(UIElement)= Trueです)。アプリの主な機能は、AppleScriptを実行することで正常に動作します。これは、アプリのメニューアイコンまたはキーコンボから実行されます。私は「約」ウィンドウを追加しました。アプリケーションメニューから「約」を選択するとウィンドウが表示され、赤い円をクリックするとウィンドウが閉じます。しかし、私はウィンドウを閉じるために(インターフェイス)クローズボタンを得ることができません。

「約」ウィンドウは、AppDelegate.swiftのNSMenuItemから次のコードのように生成されます。私がしようとしているのは、(viewcontroller)インタフェースの閉じるボタンを使ってウィンドウを閉じることだけです。それは簡単ですが、何を試してもストーリーボードviewcontrollerの閉じるボタンをviewcontroller.swiftのIBActionにリンクすることはできませんので、ウィンドウを追加してください!.close。指定された唯一のオプションは、 '表現されたオブジェクト'バインディングです。 AppDelegate.swiftのIBActionにリンクすることもできません。 通常のリンゴメニューを使ってアプリケーションをビルドすると、インターフェースボタンがコード内のアクションにリンクするため、ウィンドウが生成される方法とは関係がありません。もし誰かが[email protected]まで私に電子メールを送ってくれたら、Xcode 8.2.1プロジェクトとSwift3コードを送ることができます。敬具、ポール・問題のメソッドは、クラス拡張に定義されている場合、ビューコントローラメソッドにInterface Builderの要素からドラッグして接続を行うことができないように

func windowAbout(sender: NSMenuItem){ 

    let mainStoryboard = NSStoryboard.init(name: "Main", bundle: nil) 
    myWindowController = mainStoryboard.instantiateController(withIdentifier: "aboutWindowController") as! 
    NSWindowController 
    myWindowController.showWindow(self) 
     } 
+0

あなたは、関連するストーリーボード(S)のスクリーンショットを投稿することができますか? –

+0

申し訳ありません@paulここに画像をアップロードする方法がわかりません。しかし、画像とコードはここにあります。[リンク](http://www.menantol.co.uk/thingsthingy) – pauljvallance

答えて

0

Xcode 8 appears to have introduced a bug。ただし、Interface Builderで、関連するUIエレメントにあなたの方法からドラッグして目的の接続を作成することができます。

enter image description here

+0

ポールに感謝しますが、その解決策は私のためには機能しません。私は、UIエージェントは対話を使ってこのように処理されることは想定されていないと考えています。気にしないで。ユーザーはウィンドウの右上にある小さな小さな赤いボタンをクリックしてダイアログを閉じることができます。 – pauljvallance

関連する問題