【问题标题】:Textfield Tags and Tableviews文本字段标签和表格视图
【发布时间】:2016-11-29 03:01:46
【问题描述】:

我在我正在开发的当前应用程序上为“编辑配置文件”视图控制器设置了一个自定义表格视图单元格。自定义单元格有一个标签(用于类别)和一个用于输入的文本字段。例如: “姓名(标签)John Doe(输入)” 我使用一个数组作为标签标题,另一个作为文本字段中的占位符。我想要做的是访问每个单独的文本字段,以便我可以设置初始文本(用户存储到服务器的信息)。如何访问特定的文本字段?我的客人是我必须基于特定的 indexPath,但我不太确定。有没有办法可以通过编程设置每个文本字段标签,以便我可以轻松访问它们?

【问题讨论】:

    标签: ios swift uitableview uitextfield


    【解决方案1】:

    你应该试试这个:

    首先为该特定单元创建一个子类。

    放置一个文本字段并添加委托

    in numberofrows 函数:

     func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    
            return 4//return whatever you want
        }
    

    在 cellForRowAtIndexPath 函数中:

        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    
    
                     let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! customCell
                    cell.textfld.tag = indexPath.row//this is the textfield in cell
    cell.textfld.delegate = self
                    cell.selectionStyle = UITableViewCellSelectionStyle.Gray
                    return cell
            }
    

    textFieldDidBeginEditing 函数:

    func textFieldDidBeginEditing(textField: UITextField) { 
       //delegate method
    
            print(textField.tag)//here you will get particular textfield tag.
        }
    

    希望它对你有用......

    【讨论】:

      【解决方案2】:

      您不会访问每个文本字段。单元格将被重用,这意味着标签和文本字段将被重用。所有数据都属于您的数据模型。然后在您的 cellForRowAt 方法中,您转到您的数据模型并获取该单元格的数据并填充该单元格。

      您的视图控制器也应该是每个单元格文本字段的代表。每当更新文本字段时,您都会使用新文本更新数据模型。

      这样做可确保您的数据模型始终是最新的,并且始终包含所有行的所有数据。不要使用您的单元格来保存数据。仅用于显示数据。

      在每个文本字段上使用标签来对应其当前行是可行的,但前提是表格行不能被更改(重新排序、删除和仅添加到当前行的末尾)。

      【讨论】:

        【解决方案3】:

        假设您没有重用单元格(在这种情况下您不应该这样做),您可以轻松地在 cellForRow:atIndexPath 中创建对这些文本字段的全局引用(在您的视图控制器内)。这样您就可以随时访问您的文本字段,而无需处理单元格。

        【讨论】:

        • 那么我应该创建多个具有不同标识符的单元格吗?
        • 声明在这种情况下不应重复使用单元格是不好的建议。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多