私のココアアプリケーションでは、テキストフィールドからボタンに切り替えることができるように、コントロールのタブ順序を変更したいと思います。私は、ボタンとテキストフィールドのnextKeyViewプロパティを接続しましたが、全く効果がないようです。Cocoa:NextKeyView - タブ注文
キーボードの適切なシステム設定が既に有効になっているので、すべてのコントロールにタブすることができます。それはうまく動作しますが、私はnextKeyViewとして設定した順序ではありません。
私のココアアプリケーションでは、テキストフィールドからボタンに切り替えることができるように、コントロールのタブ順序を変更したいと思います。私は、ボタンとテキストフィールドのnextKeyViewプロパティを接続しましたが、全く効果がないようです。Cocoa:NextKeyView - タブ注文
キーボードの適切なシステム設定が既に有効になっているので、すべてのコントロールにタブすることができます。それはうまく動作しますが、私はnextKeyViewとして設定した順序ではありません。
ウィンドウのinitialFirstResponder
コンセントを少なくとも1つのフィールドに接続する必要があります。 NSTabViewのようないくつかのコントロールにはinitialResponderがもう1つあります。したがって、あなたがタブビューの中に何かを持っているなら、それらを接続する必要もあります。 全体のロジックは、少なくとも1つのフィールドにすべての初期応答を接続する必要があります
こんにちは、それはOSXのバージョンに依存します。なぜならタブの順序は10.9.2 OSXではデフォルトで動作していますが、10.8.5 OSXでは動作していないからです。 – VSN
@sachによって提供された答えは私のために解決しました。
私は新しいストーリーボードプロジェクトを作成し、3つのテキストフィールドを追加しました。私はInterface BuilderのnextKeyViewと一緒にそれらをリンクしてカスタム注文を設定しましたが、これは実行時に何の効果もありませんでした。これは、あなたの(そして私の)問題を再現するために思いつくことができる最も簡単なテストケースです。
は、@のサックスの答えを使用して、それを解決するための新しいアウトレットを作成し、NSTextField
秒のいずれかに接続するには:のViewControllerで
@IBOutlet var firstTextField: NSTextField!
、私はその後追加:
override func viewWillAppear() {
// Must execute this after the window is connected
self.view.window!.initialFirstResponder = nameField
}
再次のKeyViewリンクを使用して設定された順序に従ってテキストフィールドが正しく循環します。
質問を編集して、実行中のアプリケーションにウィンドウのスクリーンショットを含めてください。 –