0

「view1」と「view2」の 2 つのビューがあります。

左側にview1、右側にview2。

最初にview1が表示され、次にボタンを押すとview2が呼び出されます。ビュー2はビュー1の上にある必要がありますが、ビュー1は無効にする必要があり、ユーザーがビュー1をクリックするとビュー2が消え、ビュー1が強調表示されます。

ここに画像の説明を入力

助けてくれてありがとう。

4

2 に答える 2

1

私がすることは、簡単な解決策として:

View1押されView2て所定の位置にアニメートされると、透明なUIButtonオーバーがオーバーレイされView1ます。これにより、すべてのサブビューがカバーView1され、領域が選択されると、場違いにアニメーション化され、透明なボタンがView2強調表示されて削除されます。View1

これが理にかなっていることを願っています!

更新:おそらくより意味があるため、簡単な例を提供することにしました。

-(void)onView1ButtonPress {

      UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
      [button setFrame:[view1 bounds]];
      [button addTarget:self action:@selector(activateView1:) forControlEvents:UIControlEventAllTouchEvents];
      [view1 addSubview:button];

     /* your other code to bring View2 into view */ 
     ....
}

-(void)activateView1:(id)sender {

     UIButton *button = (UIButton*)sender;
     [button removeFromSuperview];

    /* your code to make View1 Active and Animate View2 out */
     ....


}
于 2012-06-07T07:26:59.220 に答える
0

理解するのは少し複雑ですが、私が理解しているように、あなたは2つのビューを作成しており、そこでユーザー操作を有効/無効にしたいと考えています.so、1.タグを設定します

btnForView1.tag = 1;
btnForView2.tag = 2;

//view1 と同じフレーム サイズで別の imageView を作成し、その上に透明なイメージを設定します。2.方法

-(IBAction) btnPressed:(id)送信者

{

UIbutton *btn = (UIButton *)sender;
if(btn.tag == 1)
{
   view2.userInteraction = NO;
   view1.userInteraction = YES;
   transprantImageView.hidden = NO;
}
else
{
   view1.userInteraction = NO;
   view2.userInteraction = YES;
   transprantImageView.hidden = TRUE;
} 

}

于 2012-06-07T07:34:10.763 に答える