2011-01-27 8 views
0

私のアプリには、スクロールビューとそのスクロールビューでスワイプしたい一連の画像があります。私はそれらのすべてを見えるようにしたいが、まだページが写真の1つの幅になるようにする。これどうやってするの? (詳細が必要かどうか教えてください)スーパービュー範囲外のビューを表示

答えて

0

さらに@ maxの答えには、スクロールビューのclipsToBoundsプロパティをNOに設定することが最も一般的です。

+0

ああこれはそれだった。本当にSOのエチケットではスピードアップしていません。私は受け入れるべきですか? – Jumhyn

+0

Mine! :P。真剣にでも、正解だと思いますか?選択されていない他の答え(それが私のものであろうとなかろうと)が役に立ったならば、それは最高の投票を与える:) – v01d

1

私が正しく理解してくれれば、すべての画像にフィットするようにcontentSizeプロパティを大きく設定する必要があります。また、pagingEnabled = YESを設定する必要があります。

スクロールのフレームサイズはイメージのサイズと等しく、コンテンツサイズはすべてのイメージフレームの境界矩形になります。

+0

唯一の問題これは、すべての画像が表示されているわけではありません。 – Jumhyn

+0

どういう意味ですか?それは目に見えないコンテンツを表示するためのスクロールです。 – Max

+0

OKこれを少し明確に説明しましょう。私は250ピクセル幅の4つの画像を持っています。私はスクロールビューでそれぞれのページを表示したいが、それらのすべてを表示する。スクロールビューをすべて表示するのに十分な大きさにすると、ページサイズが大きくなります。それを1のサイズにして、他のものを見ることはできません。とにかく、下の人がこれについてもっと詳しい情報をくれました。 – Jumhyn

1

UIScrollViewフレームを画像のサイズに設定し、UIScrollViewのcontentSizeを画像数*画像幅の幅に設定する必要があります。ほとんどのアプリのように各写真を「ページする」ようにするには、pagingEnabledをYESに設定する必要があります。スクロールインジケーターを非表示にすることもできます。例えば

NSArray someArrayOfUIImageViews... 
NSUInteger imageWidth = 100; 

pageScroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,imageWidth,160)]; 
pageScroller.scrollEnabled = YES; 
pageScroller.showsHorizontalScrollIndicator = NO; 
pageScroller.showsVerticalScrollIndicator = NO; 
pageScroller.pagingEnabled = YES; 
pageScroller.contentSize = imageWidth * [someArrayOfUIImageViews count]; 

その後、その後pageScrollerをcontentSizeの領域を横切って、それらを広げるに各画像を追加し、親ビューにpageScrollerを追加...

for (UIImageView * someImageView in someArrayOfUIImageViews) 
{ 
    CGFrame frame = someImageView.frame; 
    frame.origin.x += frame.size.width; 
    someImageView.frame = frame; 
    [pageScroller addSubview:someImageView]; 
} 
関連する問題