在 UITableView 中插入一些行后,它在 ios 7 中没有滚动
Posted
技术标签:
【中文标题】在 UITableView 中插入一些行后,它在 ios 7 中没有滚动【英文标题】:After Inserting some rows in UITableView, it is not scrolling in ios 7 【发布时间】:2013-12-18 06:47:01 【问题描述】:您好,我已经创建了 UITableView。在 Touch of it 单元格上,我在其中插入更多行。在 UITableView 中插入更多行后,滚动不起作用。这只发生在 ios 7 中。
有人遇到过这个问题吗?
这是插入的代码。
NSArray *rowIndex = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:1 inSection:[self.lastSelectedIndex section]]];
[self.table beginUpdates];
[self.table insertRowsAtIndexPaths:rowIndex withRowAnimation:UITableViewRowAnimationNone];
[self.table endUpdates];
【问题讨论】:
【参考方案1】:我不确定您的代码发生了什么,但是如果您想在每个添加行之后滚动,只需调用下面的方法(注意:- 根据您的变量名称修改代码)
-(void)goToBottom
NSInteger lastSectionIndex = MAX(0, [myTableName numberOfSections] - 1);
NSInteger lastRowIndex = MAX(0, [ myTableName numberOfRowsInSection:lastSectionIndex] - 1);
NSIndexPath *lastIndexPath = [NSIndexPath indexPathForRow:lastRowIndex inSection:lastSectionIndex];
if([myArray count] > 0)
[myTableName scrollToRowAtIndexPath:lastIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
【讨论】:
您好,Mits,感谢您的回复。其实我不是在找这个。问题是在 tableview 中再插入几行后,它根本没有滚动。甚至我的内容大小(高度)也超过了表格视图的高度。插入行后的任何方式,我都会将特定的拖曳推到顶部。[self.table scrollToRowAtIndexPath:self.lastSelectedIndex atScrollPosition:UITableViewScrollPositionTop animated:EXPAND_ANIMATE];
我并没有明确你想要什么?
我有一个包含 10 个项目的表格视图。它的内容高度大于表格视图高度。因为表格视图是滚动视图的子视图。它应该自动开始滚动。直到这里工作正常。现在假设用户要触摸 2 个单元格。这里我在表格视图中再添加 10 个单元格。 tableview 内容高度将再次增加。在插入 10 多行之后,表格视图不滚动。这只发生在 ios7 与其他操作系统版本一起正常工作的情况下。【参考方案2】:
您是否使用情节提要创建了视图?也许你必须检查你的约束。 如果您的表格视图占据了视图中的所有空间,请选择它然后转到“编辑器>固定>顶部空间到超级视图,底部空间到超级视图”
【讨论】:
嗨,我正在以编程方式创建它。我没有使用 xib 或故事板。这在 ios 6 5 4 中运行良好。只有这仅在 ios 7 中发生。以上是关于在 UITableView 中插入一些行后,它在 ios 7 中没有滚动的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableView 中,如何在隐藏行后关闭行的底部边框?
Iphone:UITableView 标题行在 6 行后重复