当前位置:  开发笔记 > IOS > 正文

UITextfield在UITableViewCells中 - 关闭键盘

如何解决《UITextfield在UITableViewCells中-关闭键盘》经验,为你挑选了1个好方法。

UITextfields在每个表格单元格中都有几个.通过点击"完成"按钮或触摸键盘外部,键盘应该被解除.

我的问题:textFieldShouldEndEditing只有当我点击另一个文本字段并且键盘不会被解除时才调用该方法.我想我已经实现了必要的部分(委托和协议方法).

有谁知道我在这里失踪了....?

这是代码(相关部分):

class myVC: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate  {...

这是细胞设置......

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    let tcell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "tbCell")

    let textfield: UITextField = UITextField(frame:...

    switch (indexPath.section) {
    case 0: ...
    case 1: 
            textfield.text = section2[indexPath.row]
            tcell.addSubview(textfield)
            textfield.delegate = self
            return tcell

这个协议方法:

func textFieldShouldEndEditing(textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        print("method is called")
        return true
    }

谢谢!



1> 小智..:

我在Objective-C中给出了这个答案,因为我不使用Swift

tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;

当你滚动你的桌面视图,并且:

tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;

当你在文本区域外触摸时.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有