저는 Swift Language를 처음 사용합니다. 나는 웹 개발에 대한 지식을 가지고 있지만 이것에 관해 당신의 도움이 필요합니다.콘센트 컬렉션 및 태그가있는 양식 등록
콘센트 컬렉션이있는 등록 페이지를 만들어야합니다. 4 개의 텍스트 필드가 있고 각 텍스트 필드에 태그가 지정되어 있습니다. beingfirstresponder()를 사용하여 하나의 텍스트 필드에서 다른 텍스트 필드로 커서를 이동 시키려고 할 때, 작동하지 않습니다. 그리고 태그를 텍스트 필드에 할당 한 것과 같은 태그를 인쇄 할 때 항상 같은 것을 인쇄하지는 않습니다.
임의 순서로 나타납니다. 여기에 코드가 있습니다.
import UIKit
class ViewController: UIViewController,UITextFieldDelegate {
@IBOutlet var registerTF: [UITextField]!
@IBAction func registerTFTapped(_ sender: UITextField) {
let tag = sender.tag
print(tag)
for tf in registerTF
{
if tf.tag == tag
{
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
nextTextFieldToFirstResponder(textField: textField)
return true;
}
func nextTextFieldToFirstResponder(textField: UITextField) {
if tf.tag == 0 {
self.becomeFirstResponder()
}
else if tf.tag == 1 {
self.becomeFirstResponder()
}
else if tf.tag == 2 {
self.becomeFirstResponder()
}
else if tf.tag == 3 {
self.resignFirstResponder()
}
}
}
}
}
//LifeCycle-Starts
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func viewWillAppear(_ animated: Bool) {
//#
}
override func viewDidAppear(_ animated: Bool) {
//#
}
override func viewWillDisappear(_ animated: Bool) {
//#
}
override func viewDidDisappear(_ animated: Bool) {
//#
}
//LifeCycle-Ends
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
주문에 동일한 경우 일 것이다 자기야 –
일반적으로 태그를 사용하지 않을 것입니다. 일반적으로 각 필드에 개별 아울렛을 만듭니다. 당신은'self.becomeFirstResponder'를 원하지 않는다. 첫 번째 응답자가 되려면 다음 텍스트 필드가 필요합니다. – Paulw11
나는 개인 콘센트를 이미 만들고 작동하고 있지만 콘센트 컬렉션으로 작업하고 싶습니다. 태그를 사용하여 다음 텍스트 필드를 얻으려면 어떻게해야합니까? – Rob