【问题标题】:View 2 above view 1. Refer attached image视图 2 高于视图 1。请参阅附图
【发布时间】:2012-06-07 07:17:40
【问题描述】:

有 2 个视图“view1”和“view2”。

view1 在左侧,view2 在右侧。

第一个 view1 被显示,然后按下按钮 view2 被调用。 view2 应该在 view 1 之上,但是 view1 应该被禁用,当用户点击 view1 时 view2 消失并且 view1 突出显示。

感谢您的帮助。

【问题讨论】:

    标签: iphone xcode uiview


    【解决方案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】:

    理解起来有点复杂,但据我了解,您正在创建 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;
    } 
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 2012-03-24
      相关资源
      最近更新 更多