Ios 使UICollectionView始终在项目居中时停止滚动
基本上,我想要一个类似于任务切换UI的东西,无论你如何滚动,一个项目总是以完美的居中结束。我认为这与分页不同,因为不止一个项目是可见的(居中的项目,以及左侧和右侧的项目,如果它们存在的话)Ios 使UICollectionView始终在项目居中时停止滚动,ios,scroll,uicollectionview,centering,Ios,Scroll,Uicollectionview,Centering,基本上,我想要一个类似于任务切换UI的东西,无论你如何滚动,一个项目总是以完美的居中结束。我认为这与分页不同,因为不止一个项目是可见的(居中的项目,以及左侧和右侧的项目,如果它们存在的话) 如何实现这一点(iOS 7+)。您需要通过实现scroll view委托方法DidBeginDraging,ScrollViewWillBeginDelegrating来“滚动”滚动视图: 在ScrollViewWillBeginDelegrating中:您可以调用setContentOffset:(CGPo
如何实现这一点(iOS 7+)。您需要通过实现scroll view委托方法DidBeginDraging,ScrollViewWillBeginDelegrating来“滚动”滚动视图: 在ScrollViewWillBeginDelegrating中:您可以调用setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated并计算位于中间的UICollectionViewCell的内容偏移量
这将重新创建任务切换程序UI,如果您快速滚动,您可以浏览许多应用程序,但它仍然停留在中间的一个应用程序上。您需要通过实现滚动视图委托方法来“滚动”滚动视图。滚动视图将开始加速: 在ScrollViewWillBeginDelegrating中:您可以调用setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated并计算位于中间的UICollectionViewCell的内容偏移量
这将重新创建任务切换程序UI,如果您快速滚动,您可以浏览许多应用程序,但它仍然停留在中间的一个应用程序上。您需要通过实现滚动视图委托方法来“滚动”滚动视图。滚动视图将开始加速: 在ScrollViewWillBeginDelegrating中:您可以调用setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated并计算位于中间的UICollectionViewCell的内容偏移量
这将重新创建任务切换程序UI,如果您快速滚动,您可以浏览许多应用程序,但它仍然停留在中间的一个应用程序上。您需要通过实现滚动视图委托方法来“滚动”滚动视图。滚动视图将开始加速: 在ScrollViewWillBeginDelegrating中:您可以调用setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated并计算位于中间的UICollectionViewCell的内容偏移量
这将重新创建任务切换程序UI,如果您快速滚动,您可以浏览许多应用程序,但它仍然停留在中间的一个应用程序上。答案是使用
-(void)ScrollViewWillendDraging:(UIScrollView*)scrollView with velocity:(CGPoint)velocity targetContentOffset:(inout CGPoint*)targetContentOffset
在UIScrollViewDelegate
中,基本上除以带有(包括行距等)的项,并为目标提供适当的中心。答案是使用-(void)ScrollViewWillendDraging:(UIScrollView*)scrollView with velocity:(CGPoint)velocity targetContentOffset:(inout CGPoint*)targetContentOffset
在UIScrollViewDelegate
中,基本上除以带有(包括行距等)的项,并为目标提供适当的中心。答案是使用-(void)ScrollViewWillendDraging:(UIScrollView*)scrollView with velocity:(CGPoint)velocity targetContentOffset:(inout CGPoint*)targetContentOffset
在UIScrollViewDelegate
中,基本上除以带有(包括行距等)的项,并为目标提供适当的中心。答案是使用-(void)ScrollViewWillendDraging:(UIScrollView*)scrollView with velocity:(CGPoint)velocity targetContentOffset:(inout CGPoint*)targetContentOffset
在UIScrollViewDelegate
中,基本上除以带有的项目(包括行距等),并为目标提供适当的中心。如果我正确理解您的问题,以下要点代码可能会有所帮助:在屏幕中央显示一个UICollectionView,它停止了滚动项目
/*
*
|<------- view width -------->|
---------------------------------------
| |
|<-w0->|<ws>|<-- wi -->|<ws>|<-w0->|
--------------- --------------- ---------------
| | | | | |
| | | | | |
--------------- --------------- ---------------
| |
| |
---------------------------------------
*
* w0: itemEdgeOffset
* ws: space
* wi: itemWidth
* in this example: ws == w0
*/
/*
*
||
---------------------------------------
| |
||||||
--------------- --------------- ---------------
| | | | | |
| | | | | |
--------------- --------------- ---------------
| |
| |
---------------------------------------
*
*w0:itemEdgeOffset
*ws:空间
*wi:itemWidth
*在本例中:ws==w0
*/
如果我正确理解您的问题,以下要点代码可能会有所帮助:在屏幕中央显示一个UICollectionView,它停止了滚动项目
/*
*
|<------- view width -------->|
---------------------------------------
| |
|<-w0->|<ws>|<-- wi -->|<ws>|<-w0->|
--------------- --------------- ---------------
| | | | | |
| | | | | |
--------------- --------------- ---------------
| |
| |
---------------------------------------
*
* w0: itemEdgeOffset
* ws: space
* wi: itemWidth
* in this example: ws == w0
*/
/*
*
||
---------------------------------------
| |
||||||
--------------- --------------- ---------------
| | | | | |
| | | | | |
--------------- --------------- ---------------
| |
| |
---------------------------------------
*
*w0:itemEdgeOffset
*ws:空间
*wi:itemWidth
*在本例中:ws==w0
*/
如果我正确理解您的问题,以下要点代码可能会有所帮助:在屏幕中央显示一个UICollectionView,它停止了滚动项目
/*
*
|<------- view width -------->|
---------------------------------------
| |
|<-w0->|<ws>|<-- wi -->|<ws>|<-w0->|
--------------- --------------- ---------------
| | | | | |
| | | | | |
--------------- --------------- ---------------
| |
| |
---------------------------------------
*
* w0: itemEdgeOffset
* ws: space
* wi: itemWidth
* in this example: ws == w0
*/
/*
*
||
---------------------------------------
| |
||||||
--------------- --------------- ---------------
| | | | | |
| | | | |