我的应用程序有一个分页滚动视图。 滚动视图的每一页具有一个显示按钮的网格的图控制器(buttonViewController)的一个实例。 如果用户点击的按钮中的一个,buttonViewController启动一个detailViewController模态,与动画设置为YES。
如果我看的第一页(最远的左边)或滚动视图,一切工作的正确。 但是,如果我滚动到其他任何页面,模态视图动画(在这种情况下,从底部向上滑动)不会出现。 相反,整个视图变黑的时间,该动画将运行,然后模态视图控制器会出现完全显示了相同的长度。 解雇模态视图控制器时,同样的事情发生。
该代码是完全标准。 在我buttonViewController我打电话:
[self presentModalViewController:detailController animated:YES];
相同的代码运行无论我在看哪个页面(虽然当然buttonViewController的不同实例。)
如何将开始调试这?
这可能需要做的detailController的框架......当你在一个UIScrollView,第一页是0和320之间,但是当您滚动该偏移增量,所以(假设你有充分的屏幕页面)下一个视图将320和640,下一个将在640和(640 + 320),等等等等。 所以,当你在你的detailController与框架建立CGRectMake(0,0,320,460),当你在第一页,动画看起来很好,但是当你在任何其他页面的动画将在(0,0)然后即时猜测的ViewController认为这不是活动画面的第二移动模态视图控制器,其中活性屏幕。 如果初始化帧像这样CGRectMake(320 * PAGENUMBER,0320460)我认为你将有你正在寻找的d esired行为。 让我知道,如果这个工程IM好奇自己。
你需要插入您试图动画视图下一个UIView(或任何类型的视图如UIScrollView的),你会得到正确的动画作品。 我想这是因为你提供的动画是基于视图。
文章来源: ModalViewController doesn't display during animation when paged scrollView is scrolled