Ios 如何使第一个文本输入成为第一个响应者,并用Eureka表单显示键盘?

Ios 如何使第一个文本输入成为第一个响应者,并用Eureka表单显示键盘?,ios,swift,eureka-forms,Ios,Swift,Eureka Forms,我在这里使用Eureka forms swift库: 我希望每次视图出现时,输入表单的第一行都成为第一响应者。我尝试添加一个.cellUpdate回调,该回调在每次视图出现时都会被触发,并执行一个cell.becomeFirstResponder(),但这不起作用。请有这个图书馆经验的人帮忙好吗?谢谢。试试这个 import UIKit import Eureka class ViewController3: FormViewController { override func vi

我在这里使用Eureka forms swift库:

我希望每次视图出现时,输入表单的第一行都成为第一响应者。我尝试添加一个.cellUpdate回调,该回调在每次视图出现时都会被触发,并执行一个cell.becomeFirstResponder(),但这不起作用。请有这个图书馆经验的人帮忙好吗?谢谢。

试试这个

import UIKit
import Eureka

class ViewController3: FormViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        form +++ Section("Custom cells")
            <<< TextRow("TextRow"){_ in
        }
    }

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        let row = self.form.rowByTag("TextRow") as! TextRow
        row.cell.textField.becomeFirstResponder()
    }
}
导入UIKit
进口尤里卡
类ViewController3:FormViewController{
重写func viewDidLoad(){
super.viewDidLoad()
表单+++部分(“自定义单元格”)

受雷尼尔回答的启发,这里有另一种方法对我有效

在设置表单时直接调用$0.cell.textField.becomeFirstResponder()

        form +++ Section()
        <<< ZipCodeRow() {
            $0.value = postal_code
            $0.cell.textField.becomeFirstResponder()
            }
form+++节()
Swift 4:

在ViewDidLoad()中添加:


在cellSetup中钩住它,这样我们就不需要在ViewDidDisplay中查找单元格

form +++ Section("")
        <<< TextRow() {
            $0.title = "Name"
            $0.value = list?.name ?? ""
            $0.cellSetup() { cell, row in
                  cell.textField.becomeFirstResponder()
            }
            $0.onChange() {
                self.list.name = $0.value ?? ""
            }
        }
form+++部分(“”)

你的手机是什么类型的?是TextRow、ImageRow等?谢谢你Reinier!!!我知道你是Eureka的贡献者。如果你能看看我的另一个问题,我将不胜感激:@demig0d我会看到,并发布我的结果,别担心,非常感谢你!这在iOS 10或更新的Eureka上似乎不起作用。什么起作用如果我们有一个PickerInputRow,我们想让它成为第一响应者,那该怎么办?这在iOS 10或更新的Eureka上不起作用。
form +++ Section("")
        <<< TextRow() {
            $0.title = "Name"
            $0.value = list?.name ?? ""
            $0.cellSetup() { cell, row in
                  cell.textField.becomeFirstResponder()
            }
            $0.onChange() {
                self.list.name = $0.value ?? ""
            }
        }