根据在单元格中的文本字段中输入的值动态增加表格视图单元格
Posted
技术标签:
【中文标题】根据在单元格中的文本字段中输入的值动态增加表格视图单元格【英文标题】:dynamically increase tableview cells based on entered value in textfield which is in cell 【发布时间】:2016-11-09 14:12:34 【问题描述】:我是 swift 新手。我有一个带有一个自定义 UITableViewCell 的 UITableView。它有一个 UITextfield。默认 numberOfRows 为 1。
当我在该文本字段中输入一个整数值 (x) 并按 Enter 键时,表格视图应附加 x 个表格视图单元格,并且每个单元格都应有一个文本字段。
这是我的代码:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
let cell : TableViewCell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell
cell.textField?.text = "Created"
cell.textField.tag = indexPath.row
cell.textField.addTarget(self, action: #selector(textFieldShouldReturn()), forControlEvents: <#T##UIControlEvents#>)
return cell
【问题讨论】:
我不清楚你要什么。 “输入n个值”和“增加n倍”是什么意思? 【参考方案1】:为了实现您想要在用户完成编辑时设置 IBAction 以检查插入的值是否为有效数字,如果它增加数据源上的记录数并调用 tableView.reloadData() 以刷新表。
在您的 cellForRowAtIndexPath 上,您可以对行进行验证,以防您想要与第一个不同的单元格,像这样
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
var cell: UITableViewCell!
if indexPath.row == 0
cell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell
cell.textField?.text = "Created"
cell.textField.tag = indexPath.row
UITextField().addTarget(self, action: #selector(customMethod), for: .editingDidEnd)
else
cell = self.tableView.dequeueReusableCellWithIdentifier("otherCell") as! UITableViewCell
cell.textLabel?.text = "Created programatically"
return cell
【讨论】:
以上是关于根据在单元格中的文本字段中输入的值动态增加表格视图单元格的主要内容,如果未能解决你的问题,请参考以下文章
从自定义单元格 iPhone 中的 textField 获取值