2011-10-09 4 views
0

にUIViewsを追加するとき、私は私のscrollviewにUIViewsを追加することに問題があります。奇妙なことが起こってScrollView

NSArray *views = [NSArray arrayWithObjects:view1, view2, view3,nil]; 
    for (int i = 0; i < views.count; i++) { 
     CGRect frame; 
     frame.origin.x = self.scrollView.frame.size.width * i; 
     frame.origin.y = 0; 
     frame.size = self.scrollView.frame.size; 



     [self.scrollView addSubview:[views objectAtIndex:i]]; 
    } 


    self.pageControl.numberOfPages = views.count; 
    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * views.count, self.scrollView.frame.size.height); 

私が使用しているコードです。問題は、ScrollViewには3つのページがあり、すべてが表示されますが、実際には最初のページにはビュー内の最後のビューが含まれていることです。なぜこうなった?私も試みた:

for (UIView *view in views) { 
    [self.scrollView addSubview:view]; 
} 

同じ結果です。私は間違っているの?

答えて

1

あなたは追加のビューの位置を設定する必要があります。

[views objectAtIndex:i].frame = frame; 

あなたが現在どこにでもビューの位置を変更していないので、それらのすべてがでおそらくある(0 | 0)。

+0

これはうまくいった:Dありがとう;) – pmerino

+0

ようこそ。それがあなたを助けたら答えを受け入れてください。 – Krumelur

+0

2分で)http://p.fr.am/r0is – pmerino

0

ループ内でフレームを初期化していますが、ループを使用してフレームを初期化する必要はありません。各ビューのフレームを置き換えて使用する必要があります。