2016-02-03 196 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

謝謝!正是我在找什麼! –

相關問題