UITableViewCell原型中的UIScrollView仅在重用后滚动

时间:2015-03-20 12:59:43

标签: ios objective-c uitableview uiscrollview uistoryboard

我在故事板中的UIScrollView原型中设置了横向UITableViewCell及其内容视图。我已经使用了Autolayout。

-cellForRowAtIndexPath:方法中,我为此scrollView设置了contentSize以及contentOffset

第一次创建单元格时会出现问题。滚动视图也不会滚动,也不会发生contentOffset。

但是,当我向下滚动几个单元格时(当它们开始重用时),contentOffset会发生,而scrollView是交互式的。

由于我已经将UITableViewCell子类化,我尝试在-awakeFromNib方法中设置contentOffset,没有任何影响。我也尝试在-tableView:willDisplayCell:方法中这样做无济于事。

可能出现什么问题?有解决方法吗?

似乎没有任何我可以包含的相关代码。如果您需要更多信息,请发表评论。

修改 我不知道这是否相关,但故事板显示警告: Scroll View: Has ambiguous scrollable content width

1 个答案:

答案 0 :(得分:1)

问题是因为在设置contentSize后没有布局scrollView。如果在storyBoard本身中正确设置了contentSize(仍然不知道该怎么做),这不会有问题。

无论如何,在cellForRowAtIndexPath方法中,调用

[cell layoutIfNeeded];
设置contentSize后立即

有关此方法如何工作的详细说明,请参阅此thread