按Return键保存文本输入

时间:2014-12-18 15:52:13

标签: xcode swift keyboard save textfield

我的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函数是一个长按手势识别器,用于检查长按的按钮。

1 个答案:

答案 0 :(得分: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
    }
}