2012-02-29 5 views
1

xxの画像とボタンで構成されたiPadアプリのレイアウトを作成しています(ウェブサービスコールからの応答に基づいて動的に決定されます)。スクロールビュー(水平)のグリッドのようなレイアウト... 今、私はこれに似た何かをすることができる多くのカスタムUIコントロールがあることを知っていますが、私のニーズにマッチするものは見つかりません...画像、ラベル、スクロールビュー付きのレイアウトグリッド

基本的に私が何をしたい/必要性が各「エントリー」は、画像、オーバーレイ画像、画像の上に画像の大きさと2枚のラベルに一致するボタンがあるということです...

だから、誰がします私が望むものと一致するカスタムUIコントロールを知っていますか?

または、これをゼロから書き込む必要がありますか?

私は潜在的にわずか10のエントリを持つことができますが、100+までのすべての方法(おそらくこれよりもはるかに高くない可能性があります)ですから、おそらく私が考えているよりメモリに優しいアプローチです...別の問題は、ビューが表示されるたびにこれをやり直す必要があることです(理由:更新データを表示する必要があります)。

グリッドを手動で作成し、これまでのところ、これは:

int rows = 3; // fixed, will either be 2 or 3, depending on final size of images... 
int columns = 8;// will be determined by response from web service 

for(int i = 0; i < columns; i++) 
{ 
    for(int j = 0; j < rows; j++) 
    { 
     // Create the buttons to handle button press 
     UIButton *childButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

     childButton.frame = CGRectMake(i * 100 + 10, j * 100 + 20, 100, 30); 

     [childButton setTitle:@"Test" forState:UIControlStateNormal]; 

     [childButton addTarget:self action:@selector(presentPopoverMenu:) forControlEvents:UIControlEventTouchUpInside]; 

     [self.scrollView addSubview:childButton]; 

     // Create the images to display the pictures of the children 


     // Create the labels to display child name 


     // Create the labels to display pick up time 
    } 
} 

答えて

0

私は...カスタムビューを作成示唆するUIViewからカスタムクラスを作成し、それをすべてのこれらのコントロールを配置します。おそらく、カスタムデータがWebから得られるものであるinitWithCustomDataを作成するべきでしょう。一度あなたがそれらを並べ替えることができるすべてのものを持っていれば、彼らは単一の単純なコントロールであるかのようにしたい。 更新しています。ビュー全体が固定サイズの場合、カスタムビューで内部メソッドをいくつか作成して、サブビューのフレームを変更します。フレームが動的な場合は、基本的に同じ操作を行いますが、すべてのカスタムビューの位置を変更する必要があります(UIViewアニメーションを使用するだけです)。

+0

これは魅力的なように機能しています...ありがとうございます! – user969043

関連する問題