2017-03-17 26 views
0

我想在移動到下一個控制器之前隱藏鍵盤。在viewWillDisapear中也實現self.view.enditing(true)。但keybard不隱藏如何隱藏這個?錯誤在移動到下一個控制器之前隱藏鍵盤Swift iOS

func textFieldDidBeginEditing(_ textField: UITextField) { 

     if textField == tagTxt{ 
      self.view.endEditing(true) 
      textField.resignFirstResponder() 
      let interstControlle = self.storyboard?.instantiateViewController(withIdentifier: "InterestViewController") as! InterestViewController 
      interstControlle.PContId = "InterestViewController" 
      interstControlle.delegate = self 
      if tagsID.count > 0{ 
       interstControlle.PTagsID = tagsID 
      } 
      self.navigationController?.pushViewController(interstControlle, animated: true) 
     } 
    } 

回答

1

使用此:

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
    if textField == tagTxt{ 
    return NO; 
    } 
    return YES; 
} 

斯威夫特3:

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { 
    if textField == tagTxt{ 
     return false 
    } 
    return true 
} 
+0

如何實現這個到Swift中? –

+0

感謝它工作正常。 –

1

您之前必須return false文本框活躍起來。我們可以看到名稱textFieldShouldBeginEditingtextFieldDidBeginEditing的區別。

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { 
     if textField == tagTxt { 
      //Your code to move in next view 
      return false 
     } 
     return true 
    } 
+0

感謝它工作正常 –