2017-08-16 6 views
-2

単純なNSAlertが却下されないようにするにはどうすればよいですか?NSAlertが拒否されないようにする方法

F.ex.アプリケーションが起動すると、NSTextFieldを含むNSAlertが表示されます。 ユーザーはパスワードを入力する必要があります。パスワードが正しい場合にのみ、ユーザーはアプリケーションを使用する必要があります(パスワードが正しくない場合)。警告がそこにとどまり、パスワードを再度尋ねる必要があります。

これは、これまで(アラートを作成するために)私のコードです:

func applicationDidFinishLaunching(_ aNotification: Notification){ 
    let alert = NSAlert() 
    alert.addButton(withTitle: "Send") 
    alert.delegate = self 
    alert.alertStyle = .informational 
    alert.messageText = "Password - Login" 
    alert.informativeText = "Please type in your password: " 

    let txt = NSTextField(frame: NSRect(x: 0, y: 0, width: 200, height: 24)) 
    txt.stringValue = "Password:" 


    alert.accessoryView = txt 
    alert.beginSheetModal(for: NSApplication.shared().mainWindow!) { (response) in 
     if (response == NSAlertFirstButtonReturn) { 
      // the alert closes here, is there any way to prevent this? 
     } else { 
      print("No value.") 
     } 
    } 

OS:OS Xシエラ、 スウィフト3

答えて

1

アラートをもう一度提示することができます。それを超えて動作をカスタマイズする必要がある場合は、NSAlertを避けてNSWindowまたはNSPanelを実行する必要があります。

+0

ありがとうございます、私はNSPanelで自分の "警告"を試してみます。 Btw、なぜ私の質問が投票されたのか考えていますか?詳細を追加すると、短すぎますか? –

+1

私はそれを落とした人の一人ではありませんが、問題はかなり短いです。一般的に、あなたがしようとしていることについてもっと明確にし、より詳細な情報を提供する方がよいでしょう。 –

+0

よろしくお願いいたします。私は本当に誰かを悩ますことを意味しませんでした。私はそれを編集し、より正確にしようとします。ありがとう。 –

関連する問題