たとえば、iPhone の連絡先アプリケーションで住所セルを追加し、ユーザーが「street」テキスト フィールドに入力すると、プレース ホルダー「street」を含む別のテキスト フィールドが現在のテキスト フィールドの下にアニメーションで追加されます。これを行うにはどうすればよいですか?
4 に答える
IBAction メソッドで、テキスト フィールドを作成し、フレームを設定してセルに追加します。
CGRect viewRect = CGRectMake(10, 10, 100, 100);
UITextfield *textView = [[UITextfield alloc] initWithFrame:viewRect];
[cell addSubview:textView];
次の点に注意してください。
tableView:cellForRowAtIndexPath:
セル ID がデキューされ、フィールドが必要ない場合は、必ず textView を削除してください。フィールドのタグを設定すると、再度検索するのに役立ちます。フィールドが必要な場合は、このメソッドにも追加する必要があります。
高さのサイズを変更し、正しい高さを報告する必要がある場合がありますtableView:heightForRowAtIndexPath:
insertRowsAtIndexPaths:withRowAnimation
何をしているかによっては、管理するセルの状態が少なくなるため、別のセルを追加したい場合があります。注意しないと、セルの状態が非常に速く複雑になる可能性があります。
insertRowsAtIndexPaths:withRowAnimation:
アニメーションで新しい行を追加するために呼び出すことができます。そして、新しい行で、プレースホルダー「street」を含むテキスト フィールドでセルを指定します。
新しい UITextField を追加するために必要なコードを使用して IBAction を作成し、xib で「Did End On Exit」を使用してアクションを初期の textField にリンクできます。これにより、ユーザーがリターンを押したときに新しいメソッドを実行できます。