「view1」と「view2」の 2 つのビューがあります。
左側にview1、右側にview2。
最初にview1が表示され、次にボタンを押すとview2が呼び出されます。ビュー2はビュー1の上にある必要がありますが、ビュー1は無効にする必要があり、ユーザーがビュー1をクリックするとビュー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 */
....
}
理解するのは少し複雑ですが、私が理解しているように、あなたは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; }
}