0

正在开发一个在 UIScrollView 中显示照片的 iPhone 应用程序(如内置的照片应用程序);早些时候(即当我开始编码时),我将照片“立即”添加到另一张旁边;即每张照片尺寸是屏幕宽度尺寸(例如,iPhone Retina 为 640px);所以,第一张照片的 X 轴点从 0.0 开始;第二次从 640.0 开始,第三次从 980.0 开始,以此类推。最近,我决定像这样在照片之间添加一个黑色间距(这是两张照片之间的黑色间距):

在此处输入图像描述

现在,sya,黑色间距是 40px。因此,第一张照片的偏移量(即 x 轴偏移量)为 0.0 ;对于第二张照片,它是 360 像素(即 320 像素是第一张照片的宽度 + 40 像素的黑色间距)。但这里的问题是:默认情况下,滚动视图似乎将照片宽度作为“默认”滚动偏移;即,如果我在第一张照片然后向右滚动,那么它会滚动到“默认”偏移的 320.0 像素(我在 scrollViewDidEndDecelerating 中得到这个值),尽管我希望它滚动到 360 像素(添加 40 像素的黑色间距)。如何更改此默认滚动偏移量?

4

1 回答 1

0

这可能是因为您在滚动视图中的第二个视图以额外的 40px 开头,您可以做的是尽管将额外的 40px 黑色条添加到下一个视图的开头,将其添加到每个视图的末尾,如下所示

 for( int i = 0; i < 4; i++)
{

UIView *myView = [[UIView alloc]initWithFrame : CGRectMake (incX,0,your_Scroll.frame.size.width,your_Scroll.frame.size.height)];
    myView.backgroundColor = [UIColor blackColor];

    UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, myView.frame.size.width - 40, myView.frame.size.height)];

    imgView.backgroundColor =   [UIColor clearColor];

    imgView.image   =   [UIImage imageNamed:[NSString stringWithFormat:@"Image%i.png",i]];

    [myView addSubview:imgView]

    [your_Scroll addSubview:myView];

    incX+= 320;
}

希望对你有帮助 :)。

于 2012-12-13T08:44:16.707 回答