我是 Swift 语言的新手。我有 Web 开发方面的知识,但我需要你的帮助。
我需要创建一个包含导出集合的注册页面。我有 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.
}
}
这只有在 TextFields 集合中的顺序等于标签顺序时才有效
import UIKit
class ViewController: UIViewController,UITextFieldDelegate {
@IBOutlet var registerTF: [UITextField]!
func nextTag(currentTag:Int)->Int{
if(currentTag < registerTF!.count - 1){
return currentTag + 1
}
return -1
}
func nextTextFieldToFirstResponder(textField: UITextField) {
let nextTag = self.nextTag(currentTag: textField.tag)
if(nextTag >= 0){
self.registerTF![nextTag].becomeFirstResponder()
}else{
textField.resignFirstResponder()
}
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.nextTextFieldToFirstResponder(textField: textField)
return true
}
//LifeCycle-Starts
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
for textField in registerTF {
textField.delegate = self
}
}
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.
}
}
关于ios - 带有导出集合和标签的注册表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47885040/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |