私のビューにはNSTextViewが必要ですが、NSAlertを表示して閉じると編集できません(テキストは選択可能です)。 NSAlertは保存/キャンセルアラートで、ユーザーが保存を選択したときにtextViewの文字列を更新し、ユーザーがキャンセルを押したときに文字列が更新されません。どちらの場合も、textViewは編集不可能です。ユーザが変更を加えたときに警告が表示され、tableViewの選択を変更する必要があります。NSAlert、NSOpenPanelを表示した後にOSX NSTextViewが編集不可になる
ビューは編集不可能だった後のTextViewがファーストレスポンダを拒否したが、コンソールには、その「true」を破壊し、チェックするとき、私はまた、いくつかの他の値をチェックするように感じる:
- isEditableをが
- がisSelectable本当でした、真の
- canBecomeKeyViewがTrue
- acceptsFirstResponderが
- acceptsTouchEventsがFalseだった本当だった真の試験を行ったが、 を動作しませんでした
ビデオ、テーブルビューの選択変更とボタンからポップアップをトリガー:video
私のポップアップコード
も試みfunc dialogOKCancel(question: String, text: String) -> Bool {
let myPopup: NSAlert = NSAlert()
myPopup.messageText = question
myPopup.informativeText = text
myPopup.alertStyle = NSAlertStyle.warning
myPopup.addButton(withTitle: "OK")
myPopup.addButton(withTitle: "Cancel")
return myPopup.runModal() == NSAlertFirstButtonReturn
}
let answer = self.dialogOKCancel(question: "Ok?", text: "Choose your answer.")
:
let a = NSAlert()
a.messageText = "Delete the document?"
a.informativeText = "Are you sure you would like to delete the document?"
a.addButton(withTitle: "Delete")
a.addButton(withTitle: "Cancel")
a.alertStyle = NSAlertStyle.critical
a.beginSheetModal(for: self.view.window!, completionHandler: { (modalResponse) -> Void in
if modalResponse == NSAlertFirstButtonReturn {
print("Document deleted")
}
})
スタッフは、私が試した:
- アラートはまだそれ
- が私のストーリーボードに新しい「そのまま」のTextViewをドラッグするが、今の両方textViewsが
- 私はNSAlertを示す試みた編集不可になった壊れ示す、任意のTextViewのアップデートを削除しますtableViewの選択を変更するのではなく、ボタンをクリックするとき。ここで私が編集していたtextViewは、最初のレスポンダーのままですが、textViewを消すとすぐに、編集不能です。
- NSAlertの代わりにアニメーションをトリガしようとしましたが、ここではtextViewは動作し続けます
- NSAlertをオーバーレイで置き換えようとしました。タイトル/説明/ボタンを持つビューです。このダイアログを表示するときに、TextViewにはまた、私は長い間、この上こだわっている
編集不可能となり、任意のヘルプは大幅に おかげ
アラートビューを表示して閉じる方法を表示してみませんか? –
ポップアップコードとビデオを追加しました –
私があなただったらNSAlertの使い方を検索して学びました。 –