我需要创建一个带滚动的水平列表,这个列表由10个图像组成,在屏幕上只能容纳这些图像的1.5个,所以当用户滚动时我需要设置在屏幕的中心一个图像,除此之外是前向图像和后向图像上的一部分。到目前为止,我所拥有的是:
scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 150, 1024, 520)];
scroll.delegate = self;
scroll.pagingEnabled = NO;
int numberOfViews = 10;
float xOrigin = 0;
for (int i = 0; i < numberOfViews; i++) {
xOrigin = i * 600;
FigureImage *tape = [[FigureImage alloc] initCustom];
[scroll addSubview:tape];
FigureImage *pictureFigure = [[FigureImage alloc] initCustom];
[scroll addSubview:pictureFigure];
}
scroll.contentSize = CGSizeMake(numberOfViews*10, 500);
pageWidth = (numberOfViews*10)/numberOfViews;
[self.view addSubview:scroll];
使用此代码,我可以滚动图像,但滚动不会停留在任何特定图像,我怎么能够在最后的x位置停止滚动?
答案 0 :(得分:0)
请参阅委托方法-scrollViewWillEndDragging:withVelocity:targetContentOffset:
。
它的最后一个参数是一个输入输出CGPoint
,你可以改变它的值,这样滚动就会以一个完全居中的图像为止。