2012-03-06 9 views
3

私はユーザーが編集できるようにするリストを表示するテーブルビューを持っています。スペースを節約し、私の目を見やすくするために、UIKeyInputプロトコルに準拠したカスタムツールバーを作成して、テキストフィールドを使用せずにキーボードをプルアップすることができます。ここまでは順調ですね。私は、キーボードからの入力を処理している可変文字列を持っている:Returnキーが押されたことを検出し、UIKeyInputプロトコルを使用してそれに応答するにはどうすればよいですか?

- (void)insertText:(NSString *)text { 
    if (!itemForList) { 
     itemForList = [NSMutableString string]; 
    }  
    [itemForList appendString:text]; 

} 

私が行う方法を見つけ出すことはできません事は、ユーザを押すが戻ったときに検出されます。ユーザーが入力した文字列をテーブルビューが表示している可変配列に追加し、新しい入力を処理するために文字列をリセットできる必要があるため、これは重要です。私はこの分野で何か助けていただければ幸いです。みんなありがとう。

+1

に役立ちます願っています。私はあなたが気づいていないと確信していますが、全く新しい質問に質問を変更すべきではありません。あなたの元の質問は答えられているようで、その答えは(正しく)受け入れられました。あなたが関連する別の質問がある場合は、別の質問を投稿し、おそらく文脈のためにこれにリンクしてください。元の質問は他の人を助けることができるように元に戻すべきです。 – NJones

+0

ありがとう、私はそれを復元するのが大好きです。過去の草案を取り戻す方法はありますか?または私が投稿したものを覚えておくためにできるだけの努力をしなければなりませんか? –

+0

nvmd、それを理解しました。 –

答えて

2

エスケープ文字を使用してみましたか?例:

- (void)insertText:(NSString *)text { 
    if ([text isEqualToString:@"\n"]) { 
    //do whatever you want to do when user taps the return key 
    } 
    if (!itemForList) { 
    itemForList = [NSMutableString string]; 
    } 
    [itemForList appendString:text]; 
} 

それはStackOverflowのを歓迎する、ヘイゼルトン

+0

私はそれを試していなかった、私はちょうどASCIIコードでそれをテストすると思ったと私はそれを書いたが、まだそれをテストしていない。それがうまくいかなければ、私はそれをそのように試してみるでしょう。 –

+0

@SamHazletonそれを試してみると、それは動作するはずです – Novarg

+0

私は実際に関連する質問を持っています:私は以前キーボードでテーブルビューを使用していましたが、いつもNSBotDidShowまたはKeyBoardWillHideを検出するNSNotificationCenterを使用しています。何らかの理由で同じコードがこの場合には機能しません。私は、ObserverとしてViewControllerを使って試してみました。その後、observerとしてキーボードを表示するツールバーを使ってみましたが、どちらもうまくいかないようです。 –

関連する問題