Я взял сборку текстового поля и привязал к ней шесть текстовых полей. Я хочу стать FirstResponder следующего текстового поля, которое находится в коллекции вывода текстового поля. Я дал текстовые поля с 0 по 5 из раскадровки. см,Невозможно установить текстовое поле как startFirstResponder() с сборкой выходных данных текстового поля в tvos
Главная 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
}
}
Ошибка:
чей вид не в иерархии окон!
Объяснение:
В этом коде, я не в состоянии стать следующим текстовым полем, как becomeFirstResponder.
Может ли кто-нибудь помочь мне решить эту проблему.
ли вы добавить текстовые поля, как подвидов на ваш взгляд? Можете ли вы показать иерархию представлений раскадровки? –
Нет, я взял сборник текстового поля. –