0

UIScrollViewに写真を表示するiPhoneアプリ(組み込みの写真アプリなど)に取り組んでいます。以前(つまり、コーディングを開始したとき)、写真を「すぐに」次々に追加しました。つまり、各写真のサイズは画面の幅のサイズです(たとえば、iPhone Retinaの場合は640px)。したがって、最初の写真のX軸ポイントは0.0から始まります。2番目の場合は640.0から始まり、3番目の場合は980.0から始まります。最近、私はこのように写真の間に黒い間隔を追加することにしました(これは2つの写真の間に黒い間隔です):

ここに画像の説明を入力してください

さて、sya、黒の間隔は40pxです。したがって、最初の写真のオフセット(つまり、x軸オフセット)は0.0です。2枚目の写真の場合は360pxです(つまり、320pxは1枚目の写真の幅+黒の間隔の40pxです)。ただし、ここでの問題は次のとおりです。デフォルトでは、スクロールビューは写真の幅を「デフォルト」のスクロールオフセットとして使用しているようです。つまり、最初の写真にいて右にスクロールすると、「デフォルト」で320.0pxオフセットまでスクロールします(この値はscrollViewDidEndDeceleratingで取得します)が、360pxまでスクロールします(40pxの黒い間隔を追加します)。このデフォルトのスクロールオフセットを変更するにはどうすればよいですか?

4

1 に答える 1

0

これは、スクロール ビューの 2 番目のビューが余分な 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 に答える