2015-11-04 140 views
0

我創建了一個按鈕開關盒。按下按鈕添加圖像當按鈕被點擊一次,如果再次點擊它會再次添加他們會從上海華刪除,以子視圖等爲什麼按鈕開關不工作?

 var buttonState: Int = 0; 

     func addfriend(sender: UIButton){ 
     switch(buttonState){ 
      case 0: 
       self.view.addSubview(cameramethod) 
       self.view.addSubview(searchmethod) 
       self.view.addSubview(nearbymethod) 
       buttonState = 1; 
     break; 

      case 1: 
       cameramethod.removeFromSuperview() 
       searchmethod.removeFromSuperview() 
       nearbymethod.removeFromSuperview() 

       default: break; 
     } 





} 
+0

你使用開關還是按鈕? – user3182143

回答

1

你想這樣嗎?

func addfriend(sender: UIButton){ 
     switch(buttonState){ 
      case 0: 
       self.view.addSubview(cameramethod) 
       self.view.addSubview(searchmethod) 
       self.view.addSubview(nearbymethod) 
       buttonState = 1; 
      break; 

      case 1: 
       cameramethod.removeFromSuperview() 
       searchmethod.removeFromSuperview() 
       nearbymethod.removeFromSuperview() 
       buttonState = 0; 
      break; 

      default: break; 
     } 

} 
0

我認爲你應該使用一個boolean類型的整數的保存按鈕狀態:

var buttonDisplay = false 

func addfriend(sender: UIButton){ 
    // toggle your button state when pressed 
    buttonDisplay = !buttonDisplay 
    // check if true 
    if buttonDisplay { 
     // case positive add your subviews 
     view.addSubview(cameramethod) 
     view.addSubview(searchmethod) 
     view.addSubview(nearbymethod) 
    else { 
     // otherwise remove them 
     cameramethod.removeFromSuperview() 
     searchmethod.removeFromSuperview() 
     nearbymethod.removeFromSuperview() 
    } 
} 
0

不要這樣,與按鈕的標記值播放。

func addfriend(sender: UIButton){ 
     switch(sender.tag){ 
      case 0: 
       self.view.addSubview(cameramethod) 
       self.view.addSubview(searchmethod) 
       self.view.addSubview(nearbymethod) 
       sender.tag = 1; 
     break; 

      case 1: 
       cameramethod.removeFromSuperview() 
       searchmethod.removeFromSuperview() 
       nearbymethod.removeFromSuperview() 
       sender.tag = 0; 
       default: break; 
     } 
相關問題