【发布时间】:2013-10-01 05:52:54
【问题描述】:
我正在尝试处理允许交互式动画视图控制器转换的新 iOS 7 API,包括UICollectionViewLayouts 之间的转换。
我从 WWDC 2013 “iOS-CollectionViewTransition”中获取并修改了示例代码,可以在这里找到:https://github.com/timarnold/UICollectionView-Transition-Demo
原来的demo,我发现的时候还没有工作,可以用苹果开发者账号访问,这里:https://developer.apple.com/downloads/index.action?name=WWDC%202013
我的应用版本展示了一个包含两个布局的集合视图,这两个布局都具有不同的属性UICollectionViewFlowLayout。
在第一个布局中点击一个单元格会正确地动画到第二个,关键是,在新布局中被滚动到的点击项目。起初我对新的集合视图如何知道设置其内容偏移量以使适当的单元格可见感到困惑,但我了解到它是基于呈现集合视图的selected 属性来做到这一点的。
在第一个布局中捏住项目也应使用UICollectionViewTransitionLayout、UIViewControllerAnimatedTransitioning 和UIViewControllerInteractiveTransitioning 动画到新布局。这行得通,但是在新布局或过渡布局中没有滚动到被捏住的单元格。
我尝试在不同位置的捏合单元格上设置selected 属性(以尝试模仿在点击项目以推动新视图控制器时描述的行为),但无济于事。
关于如何解决这个问题的任何想法?
【问题讨论】:
标签: iphone ios cocoa-touch uicollectionview uicollectionviewlayout