質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

956閲覧

swift3.1 コードでwindowを閉じる

退会済みユーザー

退会済みユーザー

総合スコア0

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/10/24 11:54

編集2017/10/24 11:56

###問題
macのステータスバーアプリを作成しているのですが、設定をするwindowを、作りたいです。
表示するところまではできたのですが、OK(cancel)ボタンを押した時にそのwindowを閉じる方法がわかりません。
一応、調べたところself.dismiss(nil)が使えそうなのですが、何も起こりませんでした。わかる方お願いします。
###環境
macOS Sierra 10.12.6
swift 3.1
Xcode 8.3.3 (8E3004b)
です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

NSWindowの以下の3つのメソッドが使えます。
close()
orderOut(_:)
performClose(_:)

orderOut(_:)performClose(_:)はxibでアクションとして接続可能です。

###説明
close()はウインドウを閉じ、そのオブジェクトをreleaseします。ただしisReleasedWhenClosedがfalseであればreleaseされません。NSPanelの場合この値のデフォルトはfalseです。
orderOut(_:)はウインドウを閉じますがorderFront(_:)などで再表示可能です。
performClose(_:)windowShouldClose(_:)がtrueを返すか実装されていない時close()を呼び出します。

投稿2017/10/26 02:49

MasakiHori

総合スコア3384

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/26 09:58

回答ありがとうございます。 xibでアクションとして接続したところ、閉じるようにできました。 しかし、他の場所で使っていたアクション接続が切れてしまいます。 複数接続することは、可能ですか? 対処法などありませんか?
MasakiHori

2017/10/26 11:20

アクションとして接続しなくていいです。直接呼んでください。
退会済みユーザー

退会済みユーザー

2017/10/26 22:21 編集

@IBAction func OkPress(_ sender: Any) {      //他のコード      //ここで閉じる } の場合どのようにコードを書けばいいですか?
MasakiHori

2017/10/27 07:04

ここで閉じると書いているところで3つの関数のうちのどれかを呼べばいいです。
退会済みユーザー

退会済みユーザー

2017/10/27 10:33

OK_Button.sendAction(#selector(NSWindow.close), to: nil) で、できました。 回答していただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問