UITableview奇怪的行为

时间:2011-06-07 15:54:02

标签: iphone objective-c uitableview uinavigationbar

我有一个带顶部导航栏的UITableView。 UITableView 的数据来自一个包含20个以上对象的数组。

到目前为止,一切都很好。然而,有时当我反复滚动(快速)时,我发现最后一行被重复,有时会被切成两半,被覆盖。

我是iPhone开发的新手,并且不知道为什么会这样。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    return [appDelegate.preList count];
}

// Customize the appearance of table view cells. 
- (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] autorelease];
    }

    // Configure the cell...
    Item *i=[appDelegate.preList objectAtIndex:indexPath.row];
    cell.textLabel.text=i.iName;
    cell.accessoryType=UITableViewCellAccessoryNone;
    return cell;
}

我也附上了我的问题的截图。注意导航栏和最后一个单元格是如何的。

screenshot

非常感谢帮助

2 个答案:

答案 0 :(得分:3)

这看起来像是在视图中添加了两个相同的表视图。如果您在numberOfSections…上放置一个断点,然后检查tableView对象,我打赌您会找到两个不同的表格视图。首先在代码中查找[self.view addSubview:tableView]或类似内容的位置。请记住,如果您使用IB来设置表,则无需以编程方式添加它。

答案 1 :(得分:0)

我认为你在快速滚动时会看到这一点,因为只有这样tableView才会弹跳,留下一些内容偏移。您可能背靠背添加了2个tableView。