2016-12-21 4 views
0

J'ai pris la collection de sortie de champ de texte et lier six champ de texte là-bas. Je veux devenir firstResponder du champ de texte suivant qui est dans la collection de sortie de champ de texte. J'ai donné le tag 0 à 5 du storyboard. voir,Impossible de définir textfield comme devenirFirstResponder() avec la collection de sortie textfield dans tvos

principal ViewController:

class ViewController: UIViewController { 

    @IBOutlet var txtSignUp: [UITextField]! 
    var arrayPlaceHolder:NSArray! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     arrayPlaceHolder = NSArray(array: ["1","2","3","4","5","6"]) 
     self.setTextFieldValue() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    private func setTextFieldValue(){ 

     for txtField in txtSignUp{ 
      let tagTxt = txtField.tag 
      txtField.attributedPlaceholder = NSAttributedString(string:arrayPlaceHolder[tagTxt] as! String, attributes:[NSForegroundColorAttributeName:UIColor.black]) 
      if(tagTxt != ((arrayPlaceHolder.count) - 1)){ 
       txtField.returnKeyType = .next 
      } 
      txtField.delegate = self 
     } 
    } 

} 

extension ViewController:UITextFieldDelegate{ 

    func textFieldShouldReturn(_ textField: UITextField) -> Bool { 

     textField.resignFirstResponder() 

      for txt in txtSignUp{ 
       let nextTxt = (textField.tag + 1) 
       if txt.tag == nextTxt { 
        txt.becomeFirstResponder() 
        break 
       } 
      } 
      return true 
     } 
} 

Erreur:

dont la vue est pas dans la hiérarchie de la fenêtre!

Explication:

Dans ce code, je ne suis pas en mesure de devenir champ suivant texte becomeFirstResponder.

Quelqu'un peut-il m'aider à résoudre ce problème?

+0

Avez-vous ajouté textfields comme subviews à votre point de vue? Pouvez-vous afficher la hiérarchie des vues de storyboard? –

+0

Non, j'ai pris la collection de sortie de textfield. –

Répondre

0

J'ai essayé de reproduire votre erreur, mais je n'ai pas réussi. Découvrez le storyboard. Xcode version 8.2. Swift 3.

enter image description here

Pouvez-vous s'il vous plaît fournir plus de détails, parce que je viens copier collé votre code et il fonctionne très bien

+0

récemment j'ai vérifié, je pense que ce problème ne s'est passé que dans tv-os. –