2016-07-27 55 views
1

我在Xcode和swift中工作,我创建了一个视图,充当一个切换菜单,当菜单出来时,我仍然可以单击下面的测试按钮。我不希望这种情况发生。我希望禁用视图背后的所有内容,并优先显示菜单视图。 (下面查看原图)防止在swift中点击查看

screenshot from the sample app

  • 请说我不考虑一个按钮的头脑,如果是这样我会已停用了特定按钮的情况。这个页面将是一个滚动视图,它将是动态的。

这是我正在使用的代码:

@IBAction func MenuButton(sender: UIButton) { 
    if self.MenuView.frame.origin.x == -180 { 
     UIView.animateWithDuration(0.5, animations:{ 
      self.MenuView.frame = CGRectMake(self.MenuView.frame.origin.x + 180, self.MenuView.frame.origin.y, self.MenuView.frame.size.width, self.MenuView.frame.size.height) 
     }) 

    } else { 
     UIView.animateWithDuration(0.5, animations:{ 
      self.MenuView.frame = CGRectMake(self.MenuView.frame.origin.x - 180, self.MenuView.frame.origin.y, self.MenuView.frame.size.width, self.MenuView.frame.size.height) 
     }) 
    } 
} 

视图隐藏180个像素的左侧,当菜单按钮被点击视图将动画180个像素的权利,其把它带到前面。该功能检查视图是否已经打开,因此可以将其动画化为180像素以隐藏它。

我唯一需要的是禁用点击视图。

回答

0

按钮仍然可见并且可点击的事实意味着它必须位于菜单的前面。如果您重新排列事物的顺序,以便菜单位于按钮的前面,那么您应该得到您正在查找的结果。

+0

谢谢,这解决了这个问题。我是新我认为在另一个元素前面加入一个视图(div)会使其失效,我不知道为什么苹果必须使它变得复杂,无论如何,谢谢 –

+1

@ YousifAl-Raheem有一种情况是视图会通过这种情况下,当'User Interaction Enabled'视图为'false'时 – Ismail

+0

@Ismail:好点 – Westside

1

Swift 3版本,非常适合我停止点击(感谢之前的评论@Ismail)。

myAddedSubView.isUserInteractionEnabled = true 

这是“简单,一个线”的答案,就像Z指数(假设你想要的Z指数是“绝对顶级”。