【问题标题】:Hitting Return to save Text Input按回车键保存文本输入
【发布时间】:2015-02-17 11:25:56
【问题描述】:

我的 xcode 项目中有一个文本字段,如何仅通过在键盘上按回车键而不是使用按钮来保存用户输入?

带有新代码的 ViewController:

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var textFieldInput: UITextField!
    @IBOutlet weak var iphoneSaveCharName: UIButton!
    @IBOutlet weak var charOne: UIButton!
    @IBOutlet weak var charTwo: UIButton!
    @IBOutlet weak var charThree: UIButton!
    @IBOutlet weak var charFour: UIButton!


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

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

//    @IBAction func iphoneSaveTextInput(sender: UIButton) -> Void{
//        
//        let textData = textFieldInput.text
//        textFieldInput.hidden = true
//        iphoneSaveCharName.hidden = true
//    }


    var savedText: String!

    func textFieldShouldReturn(textFieldInput: UITextField) -> Bool {
        savedText = textFieldInput.text
        println(savedText)
        textFieldInput.resignFirstResponder()
        return false
    }


    @IBAction func editText(sender: AnyObject) {
        if sender is UILongPressGestureRecognizer &&
            sender.state == UIGestureRecognizerState.Began {

                textFieldInput.hidden = false
                iphoneSaveCharName.hidden = false



                let button = sender.view as UIButton

                if button.tag == 1{
                    charOne.setTitle(savedText, forState: .Normal)
                } else if button.tag == 2{
                    charTwo.setTitle(savedText, forState: .Normal)
                } else if button.tag == 3{
                    charThree.setTitle(savedText, forState: .Normal)
                } else if button.tag == 4{
                    charFour.setTitle(savedText, forState: .Normal)
                }
        }
    }
}

editText 函数是一个长按手势识别器,用于检查哪个按钮被长按。

【问题讨论】:

    标签: xcode swift keyboard save textfield


    【解决方案1】:

    将视图控制器设置为文本字段委托并添加适当的委托方法。

    class viewController: UIViewController, UITextFieldDelegate {
    
        @IBOutlet weak var textField: UITextField!
    
        var savedText: String!
    
        func textFieldShouldReturn(textField: UITextField) -> Bool {
            savedText = textField.text
            textField.resignFirstResponder()
            return false
        }
    }
    

    【讨论】:

    • 对我不起作用,请检查我刚刚更新的 ViewController 代码的问题
    • 原来我没有委托文本字段
    猜你喜欢
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2014-03-02
    • 2021-10-26
    • 2015-04-01
    • 2015-07-28
    相关资源
    最近更新 更多