2016-07-27 56 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指數是「絕對頂級」。