UITableView滚动式cell错位

Posted 樊特西style

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UITableView滚动式cell错位相关的知识,希望对你有一定的参考价值。

重用机制调用的就是dequeueReusableCellWithIdentifier这个方法,方法的意思就是“出列可重用的cell”,因而只要将它换为cellForRowAtIndexPath(只从要更新的cell的那一行取出cell),就可以不使用重用机制,因而问题就可以得到解决,虽然可能会浪费一些空间。

//下面是示例代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

    static NSString *CellIdentifier = @"Cell"; 
    // UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; //改为以下的方法 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; //根据indexPath准确地取出一行,而不是从cell重用队列中取出 
    if (cell == nil) { 
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 

}......

上面的代码,无疑是能够解决界面错乱的问题,但如果数据很多,那就会浪费相当多的空间,不推荐使用。

以上是关于UITableView滚动式cell错位的主要内容,如果未能解决你的问题,请参考以下文章

iOS UITableView在过滤时滚动插入

UITableView Cell 不应该水平滚动 swift iOS

UITableView 有 UIScrollView in Cell 无法在 ios 模拟器 8.3 中滚动

UItableview Cell 随机或在滚动时更改数据和属性

编辑第一个 UITextField 时,如何将 UITableView 滚动到第二个 UITextField?

如何从Storyboard中创建的静态UITableView中删除单元格