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

时间:2012-12-13 08:33:43

标签: iphone ios uiscrollview

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

enter image description here

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

1 个答案:

答案 0 :(得分:0)

这可能会发生,因为您在滚动视图中的第二个视图以额外的40px开始,您可以做的是尽管在下一个视图的开头添加额外的40px黑色条带,将其添加到每个视图的末尾,如bellow < / p>

 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;
}

希望这会对你有所帮助:)。