重新加载UITableView
时,标题视图出现问题。实际上问题是在重新加载后意外地使整个视图闪烁。
我想动态地改变视图的高度,这个动画肯定是不需要的。
是否有可能摆脱这种情况。
要重新加载我使用的部分:
[self.table reloadSections:indexSet withRowAnimation:UITableViewRowAnimationNone];
答案 0 :(得分:1)
- (void)swipeAction:(UIPanGestureRecognizer *)gesture
{
CGFloat posY = [gesture translationInView:self.view].y;
self.dynamicHeight = posY;
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:0];
[self reloadSection:indexSet];
}
- (void)reloadSection:(NSIndexSet *)indexSet
{
[self.tblContainer beginUpdates];
[self.tblContainer reloadSections:indexSet withRowAnimation:UITableViewRowAnimationNone];
[self.tblContainer endUpdates];
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIViewController *vc = self.controllers[section];
if ([self.childViewControllers containsObject:vc]) {
} else {
[self addChildViewController:vc];
[vc didMoveToParentViewController:self];
}
return vc.view;
}
- (CGFloat)heightCell
{
return MIN_HEIGHT + dynamicHeight;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return [self.controllers[section] heightCell];
}
答案 1 :(得分:0)
嗯,可能你应该使用这种方法尝试指示何时开始和结束表视图的更新:
[self.tableView beginUpdates];
[self.table reloadSections:indexSet withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];