0

![ここに画像の説明を入力][1]ボタンが押された部分を表示したい。そして、セクションタイトルに現在時刻を表示したい。そして、1つのセルが表示されているセクションが表示されます。ボタンが同時に押された日付、セクション タイトルが 2 つである必要はありません。最初に静的な TableView を作成しました。さまざまなサイトを読みながら、この目的、動的TableViewを作成しようとしました。コードはコメントアウトされています。コードのサンプルを教えてください。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 2;
    //return [array count];
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    NSString *title = @"section";
    return title;

    //return [array objectAtIndex:section];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    cell.textLabel.text = [NSString stringWithFormat:@"%@ %i", @"row", indexPath.row];
    return cell;
}

-(void)addButton
{
    NSDate *date = [NSDate date];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];

    NSString *strTime = [[NSString alloc] initWithFormat:@"%@",[formatter stringFromDate:date]];

    array = [[NSMutableArray alloc] initWithCapacity:0];
     [array addObject:strTime];
    [array count];
}
4

1 に答える 1

0

ここで何を達成しようとしているのか正確にはわかりません。追加ボタンが押された時刻を表示し、それをテーブルビューのセクションタイトルに表示するとします。コードは次のようになります、

この現在のクラス.hファイルに日付を保持する@propertyを宣言します。

@property (nonatomic, retain) NSString *dateString;

ボタンの追加アクションでは、

-(void)addButton
{
    NSDate *date = [NSDate date];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle]; //set the date format appropriately, Check SO for sample date formats.

    self.dateString = [formatter stringFromDate:date];
    [self.tableView reloadData];//reload your table view to show this date in title
}

セクションタイトルのデリゲートメソッドは次のようになります。

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    if (section == 0)
        return self.dateString;//modify this as per your requirement
    else 
        return @"title";
}

要件に合わせて上記のコードを微調整します。

于 2012-12-10T19:45:17.173 に答える