ios - 带有导出集合和标签的注册表单
<p><p>我是 Swift 语言的新手。我有 Web 开发方面的知识,但我需要你的帮助。 </p>
<p>我需要创建一个包含导出集合的注册页面。我有 4 个文本字段,并为每个字段分配了标签。当我打算使用beingfirstresponder()将光标从一个文本字段移动到另一个时,它不起作用,当我打印标签时,就像我为它的文本字段分配了一个标签一样,它并不总是打印相同的。 </p>
<p>它以随机顺序出现。这是代码。</p>
<pre><code>import UIKit
class ViewController: UIViewController,UITextFieldDelegate {
@IBOutlet var registerTF: !
@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.
}
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>这只有在 TextFields 集合中的顺序等于标签顺序时才有效</p>
<pre><code>import UIKit
class ViewController: UIViewController,UITextFieldDelegate {
@IBOutlet var registerTF: !
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!.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.
}
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 带有导出集合和标签的注册表单,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/47885040/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/47885040/
</a>
</p>
页:
[1]