1

UIDatePicker から取得した日付を静的セルに表示したい。

画面

問題のコードは以下です。UIDatePickerで日付を変えて変更したいのですがself.label.text、変わりません。

- (IBAction)inputDate:(id)sender {
    self.label.text = [NSString stringWithFormat:@"%@", self.datePicker.date];
}
  • メソッドinputDate:は UIDatePicker に接続されています。
  • プロパティdatePickerは UIDatePicker にも接続されています。

静的セルを変更する特定の方法はありますか? ご親切にありがとうございます。


4

2 に答える 2

1

変更するセルを ivar としてテーブル ビューに保存することをお勧めします。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    //...
    // configure your birth date cell
    self.birthDateCell = cell;
    //...
}

次に、メソッドは次のようになります。

- (IBAction)inputDate:(id)sender {
    self.birthDateCell.label.text = [NSString stringWithFormat:@"%@", sender.date];
}

そして、それはそれを行う必要があります。さらに、日付ピッカーの適切なイベント アクションで inputDate 関数を呼び出していることを確認してください。

編集:さらに、次のようにデータを表示するには、セルをリロードする必要がある場合があります。

- (IBAction)inputDate:(id)sender {
    self.label.text = [NSString stringWithFormat:@"%@", sender.date];
    [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] 
                      withRowAnimation:NO];
}
于 2012-08-02T03:08:08.620 に答える
1

たった 1 つの行コードで問題が解決しました。Stunner のアドバイスは、この最終的な回答に非常に役立ちます。

- (IBAction)inputDate:(id)sender {
    self.label.text = [NSString stringWithFormat:@"%@", self.datePicker.date];
    [self.tableView reloadData]; // <- add this row !
}

スクリーンショット

于 2012-08-02T10:04:47.757 に答える