【发布时间】:2012-06-07 07:17:40
【问题描述】:
有 2 个视图“view1”和“view2”。
view1 在左侧,view2 在右侧。
第一个 view1 被显示,然后按下按钮 view2 被调用。 view2 应该在 view 1 之上,但是 view1 应该被禁用,当用户点击 view1 时 view2 消失并且 view1 突出显示。
感谢您的帮助。
【问题讨论】:
有 2 个视图“view1”和“view2”。
view1 在左侧,view2 在右侧。
第一个 view1 被显示,然后按下按钮 view2 被调用。 view2 应该在 view 1 之上,但是 view1 应该被禁用,当用户点击 view1 时 view2 消失并且 view1 突出显示。
感谢您的帮助。
【问题讨论】:
我会做的是,作为一个简单的解决方案:
当按下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)sender
{
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; }
}
【讨论】: