0

テーブルビューセルに最後のセルレコードを表示する必要があります。テーブルビューに新しい配列を追加するたびに。テーブルビューセルをリロードした後。これで、最初のセルのレコードが表示されます。最後の cell を表示する方法を教えてください。

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


static NSString *CellIdentifier = @"TrackDataTimeCell";
TrackDataTimeCell *cell = (TrackDataTimeCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
    @autoreleasepool {
        [[NSBundle mainBundle] loadNibNamed:@"TrackDataTimeCell" owner:self options:nil];
        cell = (TrackDataTimeCell *) cellChallengeFriends;
        cellChallengeFriends = nil;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
}

if (!cell) {
    cell =(TrackDataTimeCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];


    UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    cell.accessoryView = activityIndicatorView;

}
NSArray *tableData = [NSArray arrayWithObjects:@"Egg Benedict", @"Mushroom Risotto", nil];
NSArray *tableData1 = [NSArray arrayWithObjects:@"test1", @"test2", nil];


[cell.deleteButton  addTarget:self action:@selector(deleteButtonAction:) forControlEvents:UIControlEventTouchUpInside];
cell.deleteButton.tag = indexPath.row;


cell.nameList.text= [tableData objectAtIndex:indexPath.row];
cell.marklist.text= [tableData1 objectAtIndex:indexPath.row];


return cell;

}


- (IBAction)addBillingItems:(id)sender
 {

    rowVal=rowVal+1;
    [nameList addObject: self.codeAdd.text];
    [marklist addObject: selectDate];

    [tbl reloadData];

}

サンプル画像はhttp://postimg.org/image/g0dzs0r2p/で確認してください。

私は5つの細胞を持っています。現在、最初の 4 つが表示されています。スクロールすると5が表示されますが、最後のセルを最初に表示したいです。私を助けてください

4

3 に答える 3

0

テーブルビュー フレームを少なく設定する必要があります。iPhone のテーブルビュー フレームがある場合は、フレームを cgrectmake(0,0,320,430) として設定します。それで問題が解決しない場合は、uitableview:viewforheaderinsection メソッドを追加します。uiview を追加し、フレームを cgrectmake( として設定します。 0,0,320,1).これにより、テーブルのフレームが設定され、すべてのセルが表示されます。

于 2013-08-06T06:44:46.090 に答える
0

あなたの問題に対する簡単な解決策があります。tableViewのメソッドを使用するだけです

    [tbl scrollToRowAtIndexPath:[NSIndexPath indexPathForRow: rowVal inSection:0]
                      atScrollPosition:UITableViewScrollPositionBottom
                              animated:YES];

後で呼び出すだけです[tbl reloadData]

于 2013-08-06T07:09:22.823 に答える
0

これを使用して、最後に挿入されたセルに自動的にスクロールできます。

    CGPoint bottomOffset = CGPointMake(0, self.tableView.contentSize.height - self.tableView.bounds.size.height + 150);
    if ( bottomOffset.y > 0 ) {
        [self.tableView setContentOffset:bottomOffset animated:YES];
    }

150の値は、tableView のセルの後に余分なスペースを追加することです。オプションです。つまり、セルの後に余分なスペースが必要な場合に使用できます

于 2013-08-06T06:46:06.867 に答える