2011-08-03 9 views
0

私はUIScrollViewと5つのUIViewController A、B、C、D、Eを持っています。 UIViewControllerのビューの順序は、いくつかの前提条件(たとえば、ある日B、A、E、D、C、次のE、A、D、B、Cなどとなる可能性があります。に)。スクロールビューに動的にビューを割り当てます

UIViewControllerが表示されるようにするにはどうすればいいですか(アレイに保存して更新できる各UIViewControllerのタグのように)。 上記の動的な方法でビューをスクロールビューに割り当てることはできますか?

+0

ビュー・コントローラにどのようなデータを示すことになるの? ? – mayuur

+0

テーブルビューは一般的です。いくつかのセグメント化されたコントロールとボタンが追加されます。 – Prathiba

+0

確かに、データが異なるビュー間でかなり類似している場合は、UIViewControllerの代わりに5つのUIViewを使用します。 – mayuur

答えて

0

あなたは5つのビューコントローラを並べ替える方法を作りたいですか? おそらく素数のプロパティを使用すると便利です。

これは、必要な順列の数によって異なります。 しかし、5つのビューコントローラしかないので、5を超えることはできません! = 120の順列 5は素数であることです

したがって、(n * a)%5を計算すると、aは0から4までの定数であり、nは1から5の変数です

a==0, 0,0,0,0,0 
a==1, 1,2,3,4,0 
a==2, 2,4,1,3,0 
a==3, 3,1,4,2,0 
a==4, 4,3,2,1,0 

これまで見てきたとおり、5つの全く異なる順列があり、各数字は正確に1回しか表示されません。

ので、あなたは120個の順列

を持つようにしたい場合は、単に(0〜4)のconst数bを適用し、計算(N * A + B)5

あなたは%を取得します前の結果の5倍、つまり125ですが、いくつかの繰り返しがある場合、最終結果は120の順列になります。

ので、あなたがしなければならない唯一のことは、あなたの前提

でaとbを決定し、次のコードを適用することです:

int result = (n*a + b)%5; 
static UIView *addedView = nil; 
if(addedView != nil) 
    [addedView removeFromSuperview]; 

switch(result) 
{ 
    case 0: 
     [self.scrollView addSubview:VCA.view]; 
     addedView = VCA.view; 
     break; 
    case 1: 
     [self.scrollView addSubview:VCB.view]; 
     addedView = VCB.view; 
     break; 

    //and so on... 
} 

hope it helps 
+0

私はそれを試してみるつもりです...とにかくおかげで! :) – Prathiba

関連する問題