UITableView, setContentOffset 动画:NO 不会在 iPad 上滚动
Posted
技术标签:
【中文标题】UITableView, setContentOffset 动画:NO 不会在 iPad 上滚动【英文标题】:UITableView, setContentOffset animated:NO will not scroll on iPad 【发布时间】:2011-08-13 21:41:23 【问题描述】:我有一个简单的UITableView
;我试图强制它滚动到viewDidLoad
中的某个位置,所以我可以隐藏表格中的第一行(除非用户向上滚动)。我的第一行是90.0px
的高度,所以我正在尝试强制我的UITableView
滚动:
[contentTable setContentOffset: CGPointMake(0, 90.0f) animated: NO];
问题是使用animated: NO
什么都不做; UITableView
不会滚动。但是,如果我使用animated: YES
,一切都会很好;它会滚动,但是让它动画化的缺点是我的 UI 在滚动过程中会闪烁,这根本不是我想要的。
任何想法为什么?我的UITableView
是 1 行还是 20 行似乎并不重要,只有当我将 animated: YES
传递给 setContentOffset
时它才会滚动。
我目前正在运行 Xcode 4.2,并且在我的第一代 iPad 上使用 ios 4.3.3。
编辑:要提的另一件事 - scrollToRect
似乎根本不起作用,无论我为它传递的 animated
属性值如何。我对 iOS 上的滚动有什么根本误解吗?
【问题讨论】:
UITableView won't scroll to certain position的可能重复 【参考方案1】:可能的重复:
setContentOffset only works if animated is set to YES
UITableView won't scroll to certain position
【讨论】:
【参考方案2】:我很确定 UITableView 滚动存在一些问题。我正在使用:
selectRowAtIndexPath:indexPath 动画:YES scrollPosition:UITableViewScrollPositionMiddle
应该选择 indexPath 指示的行,然后滚动表格,使所选行位于视图的中间。它在模拟器上以这种方式可靠地工作,但在 iPhone 上它有时滚动,有时不滚动。通常(但并非总是)它在前几次工作,然后停止工作(即,它不滚动并且选定的单元格不在屏幕上)。但始终选择正确的单元格。我无法确定是什么决定了它是否滚动。我向 Apple 提交了错误报告,但没有回复。
【讨论】:
以上是关于UITableView, setContentOffset 动画:NO 不会在 iPad 上滚动的主要内容,如果未能解决你的问题,请参考以下文章
UItableview 单元格的动态高度与 UItableview 单元格内的 UItableview
水平 UITableView 中的垂直 UITableView
如何与重叠显示的 UITableView 交互另一个 UITableView