我有一个包含4个tableview的水平UIScrollview。当用户在tableview中选择一行时,我添加一个标签并通过更改约束来更改scrollview的大小。但是,在滚动视图大小更改后,无论用户在哪个tableview上,都会重新加载scrollview并显示第一个tableview。然后就会崩溃。调试之后,我发现原因是旧的tableview数据少于第一个,显示它在cellForRowAtIndexPath中因为数组绑定错误而崩溃。 我的问题是为什么scrollview会重新加载以及如何在不重新加载内容的情况下改变大小?
// change to the new constrant
[self.contentViewConstraint setConstant:height];
[self.view layoutIfNeeded];
// crash here in cellForRowAtIndex
// reason: index 4 out of bound .... (the current table view has only 3 object while the first tableview has a lot)
[result fillWithSocialFriend:[self.friends friendAtIndex:indexPath.row]];