2016-02-03 166 views
0

我有一个带有自定义单元格的tableView。每个自定义单元格都有一个文本框。当用户点击一个文本框时,我希望某些新的单元格出现在屏幕上。单击自定义单元格的UITextField后重新加载TableView

这就是我想:

func textFieldShouldBeginEditing(textField: UITextField) -> Bool { 
    /* 
    ...code to determine which new cells should be added in from my data structure 
    */ 
    self.tableView.reloadData() 
    return true 
} 

但是,每次reloadData被调用的时候,我想代表再次呼吁textFieldShouldBeginEditing,让我陷入无限循环的方法永远不会返回。

有关如何避免此问题的任何想法?

回答

0

我认为你正在寻找的是insertRowsAtIndexPaths而不是重新加载整个表。

func insertRowsAtIndexPaths(_ indexPaths: [NSIndexPath], withRowAnimation animation: UITableViewRowAnimation) 

另一个堆栈溢出post you should look at

这里的链接Apple docs

记住你这样做,你需要保持你的数据源是最新的,以及何时。在调用insertRowsAtIndexPath之前更新数据源

+0

谢谢!正是我在找什么! –

相关问题