2011-01-14 6 views

答えて

0

私はグリッドであなたはホームスクリーンの踏み台のようなものを意味しています、各アイコンは異なるビューです。

また、IBでUIViewをインスタンス化し、適切な接続をすべて設定してコードにポインタを設定しているとします。

次に、UIScrollViewを所有しているコントローラで(これは私がやりたいことであり、前に行ったことです)、すべてのUIViewをループします(xibで作成したテンプレートをコピーした後、あなたの質問があまりよく定義されていないのでここで仮定します)、単純な数式を使ってフレームを設定して、addSubviewを使ってそれらをUIScrollViewに追加します。最後に、UIScrollViewのcontentSizeを適切な値に設定してください。ここで

は例です:、ビューが再配置されたラインで

-(void)displayNewView:(NewView *)newIcon { 
    //create view object 
    NewViewController *newVC = [[NewViewController alloc] init]; 

    //modify the new UIView so it shows the correct state 
    newVC.networkHost = newIcon; 

    //add view object to screen 
    [self.scrollView addSubview:newVC.view]; 

    //release a retain on the object 
    [newVC release]; 

    //reposition the view object 
    newVC.view.frame = CGRectMake((self.viewsOnDisplay%3*104), (self.viewsOnDisplay/3*105+6), 106, 95); 

    //resize the view if necessary 
    self.scrollView.contentSize = CGSizeMake(320.0, (self.viewsOnDisplay/3*105+96+6)); 
} 

和数学が起こってtheresのとではなく、あなたに私は私のアプリケーションのいずれかからラインを撮影したシンボルの束を示し、私は(それはそれらを区別する便利な方法ですので、それらはすべて異なっている)各番号の意味を教えてくれます:

3: number of views per row 
104: horizontal spacing between views 

105: vertical spacing between views 
6: space at the very top of the UIScrollView (a header if u will) 

106: view width 
95: view height 

これは単に画面に単一のUIViewを追加する方法であるため、それが合成されたローカルにアクセスプロパティself.viewsOnDisplay人を知る方法yビューは既に表示されているため、次のビューをどこに配置するかが分かります。 forループや何かの一部としてこれを行っていた場合、これは単にi(または、カウンタvarが呼び出されたもの)です。あなたのカウンターは0から始まるはずです。

関連する問題