1

UITableViewが埋め込まれたUIViewがあります。同じビューの1つのテキストフィールドで、テーブルのセル番号を制御する必要があります。ユーザーが数値4を入力すると、すぐにTableViewはユーザーが入力した内容を反映するようにセル番号を変更する必要があります。セルの内容は「選択してください」のようになります。

次に、ユーザーがセルを選択すると、日付ピッカーが表示され、ユーザーに日付/時刻を選択させます。次に、ピッカーが閉じられると、そのセルは選択された日付/時刻に変更されます。

2日以上経ってからこれに夢中です。どこから始めればよいのか本当にわからないので、ここにコードを入れません。これまでに試したすべてのことは完全に失敗しました。

誰かが私を解決策に導くことができれば、私は本当にそれをいただければ幸いです。ありがとう。

4

2 に答える 2

1

iPad を使用している場合は、ユーザーがセルを選択したときに、選択したセルから UIPopOverController を表示できます。iPhone では、モーダル ビュー コントローラーを表示できます。

これについては、 を参照してください-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

表示しているビュー コントローラーが閉じられたときに UIDatePicker からの値の取得を処理するコードを実装する必要があります。また、ビュー コントローラーで UIDatePicker をホストする必要があります。これは、(私の知る限り)単独で表示する方法がないためです。

したがって、私の提案する解決策は次のとおりです。

  1. 表示する UIDatePicker をホストする新しいビュー コントローラーを作成します。
  2. そのView Controllerに「OK」「Cancel」ボタンを配置します。
  3. 「メイン」View Controllerを参照するView Controllerにプロパティを追加します。これは、日付の選択が完了したときに、UIDatePicker をホストするビュー コントローラーが「メイン」のビュー コントローラーにメッセージを送信できるようにするためです。
  4. 「メイン」ビュー コントローラーで、tableView:didSelectRowAtIndexPath:UITableView のイベントを処理します。
  5. View Controller を提示して、UIDatePicker をユーザーに表示します。
  6. ユーザーが「OK」を選択した場合は、モーダル/ポップオーバー ビュー コントローラーを閉じて、セルを新しい情報で更新します (これを実行するには、おそらく NSDate 値の配列と への呼び出しが必要です[tableView reloadData])。
  7. ユーザーが「キャンセル」を選択した場合は、モーダル/popOver ビュー コントローラーを閉じて、何も更新しないでください。
于 2012-04-30T17:40:06.343 に答える