Iphone UIScrollView:滚动偏移量w.r.t页面大小

Iphone UIScrollView:滚动偏移量w.r.t页面大小,iphone,ios,uiscrollview,Iphone,Ios,Uiscrollview,我正在开发一款iPhone应用程序,它可以在UIScrollView中显示照片(就像内置的照片应用程序);早些时候(即当我开始编码时),我将一张照片“立即”添加到另一张照片的旁边;i、 e.每个照片大小是屏幕宽度大小(例如,iPhone视网膜为640px);因此,第一张照片的X轴点从0.0开始;第二个从640.0开始,第三个从980.0开始,以此类推。最近,我决定像这样在照片之间添加一个黑色间距(这是两张照片之间的黑色间距): 现在,西娅,黑色间隔是40px。因此,第一张照片的偏移量(即x轴偏

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


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

这可能是因为您在滚动视图中的第二个视图以额外的40px开始,您可以做的是将额外的40px黑色条带添加到下一个视图的开头,将其添加到每个视图的结尾,类似于bellow

 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;
}
for(int i=0;i<4;i++)
{
UIView*myView=[[UIView alloc]initWithFrame:CGRectMake(incX,0,您的_-Scroll.frame.size.width,您的_-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 ImageName:[NSString stringWithFormat:@“image%i.png”,i]];
[myView添加子视图:imgView]
[您的滚动添加子视图:myView];
incX+=320;
}

希望这对您有所帮助:)。

谢谢您的建议;关键是我没有添加任何UIView来获得黑色间距;我所做的只是将照片以40px的间隔添加到UIScrollView中;因此,在默认情况下,它们之间的空间显示为黑色。即,例如,am将偏移量为0.0px的第一张照片添加到UIScrollView(所有照片的宽度均为320.0px);然后我以360px(320px(第一张照片的宽度)+40px(黑色间距))添加第二张照片,以此类推。实际上,照片之间的间隙(在滚动视图中)被黑色填充。@Jean,我能为您做些什么。告诉我我会尽我所能。也许你应该先试试我上面的逻辑。