0

再次出现 Utableview 问题。每当我重新加载数据时,表格视图都会重新加载,但数据似乎不会从第一行开始。请参考下图。

我在重新加载数据后尝试了以下操作,但仍然没有成功:

[self.tableView reloadData];
// this or the other one ... [self.tableView setContentOffset:CGPointZero animated:NO];
[self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];

这就是我在 viewdidload 上定位 uitableview 的方式

self.tableView.frame = CGRectMake(450, 20, self.tableView.frame.size.width, self.tableView.frame.size.height - 20);

编辑1:

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

    User *user = [users objectAtIndex:indexPath.row];
    UserTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(cell == nil)
    {
        cell = [[UserTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    cell.name.text =  [NSString stringWithFormat:@"%@ %@", user.firstName, user.lastName];

    return cell;
}
4

1 回答 1

1

根据您的评论,当您将设备旋转到横向模式时,您的表格大小调整不正确。在您的故事板中,您需要在表格视图上设置自动调整大小,以便它以您想要的方式正确调整大小。

这是一个很好的起点:

在此处输入图像描述

请注意,在标签上方Autosizing,它显示了一堆红色条(称为弹簧和支柱)。我将它们全部打开,这将保持与超级视图边缘的距离,并允许对象更改其大小以保持这些距离相同。这应该接近你想要的,如果不是,那么你可以尝试不同的组合,直到你得到你想要的。

您可以通过单击红线来打开和关闭它的每个部分。

有关更多详细信息,请查看以下问题: Autoresizing Masks programmatically vs Interface Builder / xib / nib

于 2013-05-02T02:27:35.287 回答