ios - Swift 下一个按钮更改文本字段

标签 ios swift textview

我有一个使用 Swift 和 iOS8 构建的应用程序。在我的 ViewController 中,我有两个文本字段。

我使用这段代码:

func textFieldShouldReturn(textField: UITextField) -> Bool {
    if textField == self.textfield_A {
        self.textfield_B.becomeFirstResponder()
    }
    if textField == self.textfield_B {
        self.textfield_B.resignFirstResponder()
    }
    return true
}

效果:

我选择 textfield_A 并按下 Next 按钮 -> 光标跳转到 textfield_B

textfield_B 上,我按下完成按钮 -> 键盘将被隐藏。

一切正常。

但现在我做了一个更改,代码不再像这样工作了。

我将 textfield_A 更改为 textView

知道我必须如何修改我的代码吗?

最佳答案

你必须添加一个扩展,这是swift 3.0

的扩展
extension UITextField {
class func connectFields(fields:[UITextField]) -> Void {
    guard let last = fields.last else {
        return
    }
    for i in 0 ..< fields.count - 1 {
        fields[i].returnKeyType = .next
        fields[i].addTarget(fields[i+1], action: #selector(UIResponder.becomeFirstResponder), for: .editingDidEndOnExit)
    }
    last.returnKeyType = .done
    last.addTarget(last, action: #selector(UIResponder.resignFirstResponder), for: .editingDidEndOnExit)
    }
} 

添加这行代码后:

UITextField.connectFields(fields: [field1, field2, field3])

关于ios - Swift 下一个按钮更改文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32153220/

相关文章:

java - 微调器选择后填充 TextView

ios - 如果连接了 Socket.io,Alamofire 请求总是失败并返回 "The request timed out"

ios - 如何防止用户点击 Popover 之外的其他 UIView(UIBarButtonItem)?

ios - Swift:创建字典值数组

java - 无法在 Android 中更改 TextView 的文本

android-TextView setText in Html.fromHtml 显示图片和文字

iphone - 电影下载器应用程序如何在 iOS 中运行?

ios - GPUImage2 , 前后摄像头切换

ios - 将 UIImageView 与 SDWebImage 一起使用

ios - Swift 不符合协议(protocol)