15

ファーストレスポンダーの問題だと思いますが、よくわかりません。テーブルビューのデータの編集ウィンドウを実装しています。Mail.appでフィルタールールを編集するためのUIと概念が非常に似ています。

プライマリウィンドウに添付する編集ウィンドウがあります。

[NSApp beginSheet: criteriaEditPanel 
   modalForWindow: [self window] 
    modalDelegate: self 
   didEndSelector: @selector(criteriaEditDidEnd:returnCode:contextInfo:) 
      contextInfo: (void *)[criteriaList objectAtIndex: index]];

メインウィンドウのタイトルバーから、パネルが正しく表示されます。パネル上のポップアップコントロールをマウスで操作することはできますが、テキストフィールドを編集したり、フィールド間をタブで移動したりすることはできません。他のすべては正常に動作します。何か案は?

ジョー

4

1 に答える 1

36

解決しました。信じられないかもしれませんが、シートとして表示されたときにタイトルバーが表示されない場合でも、パネルのタイトルバーを有効にする必要があります。IBで有効にすると、キーボード入力が機能し始めました。

@spudwaffle-どのオブジェクトもRefuseFirstResponderがチェックされていませんでした。

于 2011-08-20T17:23:07.363 に答える