Beh*_*çar 10 iphone footer uitableview
我想显示一个包含多个部分的表,最初只显示3个部分的元素.当用户点击部分页脚时,部分页脚会丢失(变为零),并且该部分的所有元素都将显示给用户.
出于这个原因,当用户点击部分页脚时,我调用下面的代码:
-(void)loadMoreRowsInSection:(NSInteger)section {
[groupStates replaceObjectAtIndex:section withObject:[NSNumber numberWithBool:YES]];
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation:NO];
}
Run Code Online (Sandbox Code Playgroud)
我有以下代码来显示部分页脚:
-(UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
int count = [[(NSDictionary*)[filters objectAtIndex:section] valueForKeyPath:@"values.value"] count];
if (count>3&&![[groupStates objectAtIndex:section] boolValue]) {
LoadMoreFooter* loadMoreFooter = [[LoadMoreFooter alloc] initWithParent:self Section:section];
return [loadMoreFooter view];
}
else return nil;
}
Run Code Online (Sandbox Code Playgroud)
当用户点击部分页脚并调用loadMoreRowsInSection函数时,将重新加载此部分,但该部分的当前行将消失.当我向上滚动时,使行离开屏幕再次出现,行再次出现.
如果我打电话reloadData
而不是reloadSections:withRowAnimation:
,没有问题,但重新加载所有表似乎不是一个好主意.另外,reloadTable中没有动画.
有谁遇到过这个问题?
Acc*_*yyc 24
从某种意义上说,这是一个"静态"单元格,您自己会对它进行引用吗?在这种情况下,问题可能是这样的:
当您进行动画重新加载时,表格视图将淡出现有单元格,同时淡入新单元格.问题是,当"新"单元格与旧单元格完全相同时,同一单元格将同时淡入和淡出!在您的情况下,淡出动画优先,单元格被隐藏.
这是一些可能的解决方案:
而不是静态单元格,有一个可重复使用的"包装单元格"子类 - 一个单元,其唯一目的是包含一个包装视图.然后,保持对视图的静态引用,并将它们添加到出列的包装单元格中cellForRowAtIndexPath:
避免重新加载静态单元格的索引路径 - 而是这样做 [UIView transitionWithView:self.myStaticCell duration:0.3 options:UIViewAnimationOptionTransitionCrossDissolve animations:nil completion:nil]
我遇到了类似的问题,节标题无论在哪里都会被卡住。尽管即使在屏幕上滚动/滚动时我的问题仍然存在:
我发现解决这个问题的唯一方法就是使用而reloadData
不是reloadSections:withRowAnimation:
.
归档时间: |
|
查看次数: |
3431 次 |
最近记录: |