将 UIScrollView 控制器与 iPhone 4 和 iOS 5.1 结合使用时,我遇到了一个奇怪的问题。
我有一个 UIScrollView,其内容大小为 640x480(有效双屏),除了在两个“屏幕”之间切换的滑动之外,我还允许用户点击屏幕以响应我称之为...
[scrollView scrollRectToVisible:(CGRectMake 320,0,320,480) animated:YES];
如果在显示滚动视图的右侧时发生点击,则第一个 320 将为 0(请注意,滚动视图已启用分页,因此它只能完全靠左或完全靠右)。
我还有一种情况,有时我会在包含滚动视图的视图控制器上以模态方式使用 presentModalViewController 显示一个额外的视图控制器。
一切正常,直到模态视图控制器出现并随后被解除,之后如果动画设置为 YES,则 scrollRectToVisible 方法将不再起作用(如果我将动画更改为 NO,那么它会按预期工作)。请注意,点击仍在注册,并且 scrollRectToVisible 正在被调用,当动画设置为 YES 时它什么也不做)。
关键是,这个错误只发生在运行 iOS 5.x 的 iPhone 4 上。
它在我的以下设备上完美运行(即使在显示模态视图控制器之后):运行 4.x 的 iPhone 3G、运行 3.x 的 iPhone 3GS、运行 4.x 的 iPod touch(第 2 代),最令人惊讶的是运行 5.x 的模拟器.
我想知道这是否是动画系统中的错误,因此禁用了模态视图控制器演示文稿上的动画并关闭,这没有效果,问题仍然出现在 iOS 5.1 的 iPhone 4 上。
有人对可能导致此问题的原因以及我如何解决此问题有任何想法吗?