基本上,我想要的是像任务切换UI一样的东西,无论你如何滚动,一个项目总是完全居中。我认为这与分页不同,因为可以看到多个项目(居中项目,左侧和右侧项目,如果存在)。
我怎么能实现这个目标(iOS 7 +)。
答案 0 :(得分:2)
答案是在-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
中使用UIScrollViewDelegate
并基本上除以项目(包括行间距等)并为目标提供适当的中心。
答案 1 :(得分:1)
通过实现滚动视图委托方法didBeginDragging,scrollViewWillBeginDecelerating:
,你需要基本上“滚动插孔”滚动视图在scrollViewWillBeginDecelerating:你可以调用setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated并计算UICollectionViewCell在中心的内容偏移量。
这应该重新创建任务切换器UI,如果你快速滚动,你可以浏览很多应用程序,但它仍然停留在中心的一个应用程序。
答案 2 :(得分:0)
如果我理解你的问题,下面的Gist代码可能会有所帮助:显示一个UICollectionView,它停止了屏幕中心的滚动项目。
/*
*
|<------- view width -------->|
---------------------------------------
| |
|<-w0->|<ws>|<-- wi -->|<ws>|<-w0->|
--------------- --------------- ---------------
| | | | | |
| | | | | |
--------------- --------------- ---------------
| |
| |
---------------------------------------
*
* w0: itemEdgeOffset
* ws: space
* wi: itemWidth
* in this example: ws == w0
*/