2012-02-19 4 views
0

私は現在2つのレイヤーを持つアプリを持っています。 bottomlayerはtableViewを持っていて、tableViewの選択に基づいて異なるボタン/ラベル/ etcを表示するために最上位レイヤーが必要です。 didSelectRowAtIndexPathに基づいてレイヤーを表示/非表示にすることが本能的になりますが、それは選択に基づいて多くのレイヤーを隠したり表示したりする必要があります。私はまた、ストーリーボードが同様にかなり厄介になるだろうと想像:(didSelectRowAtIndexPathに基づいてIUViewを表示するための効果的な方法ですか?

は、テーブルビューの選択に基づいて、最上層の上にUIViewのを変更するための、より合理的/効果的な方法はありますか?

答えて

0

ループそれらすべてを通じてのために、中にループは一種の、次のように:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
     if (indexPath.row == 0) { 
      for (UIView *view in self.view.subviews) //change this to your container { 
       if (view.tag == 14) 
        continue; 

/*Do Nothing, this is the golden view that stays on screen. Maybe set it's frame or alpha, but don't hide it. 
*/ 
       else 
       [view setFrame:CGRectMake(0, self.view.bounds.size.height, 768, 1024)]; //set this to any value that puts the view offscreen or set alpha to 0 

      } 
     } 
    } 

それはすべてのインデックスが選択され、除外したいかを表示され、あなたはそれらのタグを設定するに依存

必要な変更に応じて、が、またはどのように多くの。変更しなければならないオブジェクト、th方法は実際にはもっと面倒かもしれません。

+0

いいえ、必須ではありません。複数のビューを表示したいとします(最高の例ではありませんが、ちょっと!)、複数のタグを除外します。インデックスは、どのセルが押されたかを判断するためのものです。 – CodaFi

+0

サブビューを設定するための推奨読書はありますか?まだかなり新鮮なobjC。ありがとう! – DrTchocky

+0

アニメーションや変更を必要とする複数のオブジェクトがある(そして私がかなりの数のことを言っている)場合は、それらを独自のUIView内にすべて含めてください。また、[UIView animateWithDuration:animations^{}];あなたのアプリをプロフェッショナルに見せかけるような、本当に簡単な方法です。 – CodaFi

関連する問題