我有一個靜態的UITableView,如第一個圖像所示,但現在我需要添加一個Button,當我觸摸它時,會在表格中添加一個動態單元格,如第二個圖像所示,問題是我無法將新單元格添加到靜態UITableview。 完成此操作的最佳實踐是什麼?以靜態UITableView編程添加行
回答
基本上靜態的TableView不應該在運行時被改變(除了細胞含量)。這在docs中明確提到:
不管顯示的具體信息如何,當表格不改變其佈局時使用靜態單元格。
在這種情況下的最佳做法是創建一個動態電視並填充適當數量的單元格。您需要使用DataSource delegate才能這樣做。數據源本身通常是通過字典或數組完成的。
E.g.你有一個字典'phoneNumbers'和一個應該添加一個新的按鈕。
首先,您將一個選擇器添加到cellForRowAtIndexPath中的按鈕:例如via標籤。然後,按鈕動作時,會是什麼樣子:
-(void)yourButtonClicked:(UIButton*)sender
{
[self.phoneNumbers setObject:phoneNumber forKey:numberKey];
[self.tableView reloadData];
}
//Swift
func yourButtonClicked(sender: UIButton) {
self.phoneNumbers["numberKey"] = phoneNumber
self.tableView.reloadData()
}
(對不起它的對象 - 但我肯定迅速是不是在這一點上非常不同)
需要reloadData刷新的TableView佈局後對DataSource對象進行更改。在這種情況下,它非常接近「重繪」。
在聯繫人應用程序中,您顯示的對象的圖像是'(555)555-5555'NSString,關鍵字可能是'other'。您可以使用和存儲這些你喜歡
所以,畢竟你只需要設置numberOfRowsInSection任何方式:所以,對於要在其中添加細胞部分返回對象的個數在字典PHONENUMBERS
謝謝,我明白如何使電話單元的部分,但哪些是使我的tableview中動態當前靜態部分的最佳方式。謝謝! –
您需要在XIB/Storyboard屬性檢查器中將'View'的'Content'選項從'Static Cells'更改爲'Dynamic prototypes'。確保每個細胞原型具有唯一的細胞標識符。 –
- 1. 添加行到靜態UITableView:獲取NSRangeException
- 2. 以靜態方式在UITableViewCell中以編程方式添加控件UITableView
- 3. 如何以編程方式在UITableView後面添加靜態背景?
- 4. 以編程方式向UIViewController添加UITableView
- 5. 添加靜態項下拉編程LINQ
- 6. 如何以編程方式將按鈕添加到UITableView行?
- 7. 以編程方式向UITableView添加單元格和行
- 8. 以編程方式在uitableview中設置靜態單元
- 9. magento - 以編程方式添加設計模板或向magento添加靜態塊
- 10. 如何動態添加行到UITableView?
- 11. C++添加靜態libcurl,不會編譯
- 12. 編程添加UITextView作爲UITableView標題
- 13. 添加導航欄的UITableView編程
- 14. UITableView編輯靜態單元格
- 15. 動態添加一個新行作爲添加在編輯模式下的UITableView?
- 16. UITableView靜態滾動
- 17. 靜態UITableView瘋狂
- 18. 如何從UINavigationController中以編程方式添加第二個UITableView
- 19. 以編程方式將UITableViewCell添加到UITableView
- 20. 使用swift以編程方式向UITableView添加標題2.2
- 21. 將UIButton添加到UITableView以編程方式錯誤點
- 22. 以編程方式添加UIButton時出現UITableView錯誤
- 23. 以編程方式將UITableView添加到UITabBar
- 24. 以編程方式在UITableView單元格中添加邊距?
- 25. 以編程方式將UISearchBar和UISearchDisplayController添加到UITableView
- 26. 以編程方式向UITableView添加單元格
- 27. ScrollView在uitableview中以編程方式添加
- 28. 如何以編程方式在UITableView中添加視圖?
- 29. C#DataGridView以編程方式添加行
- 30. Winforms TableLayoutPanel以編程方式添加行
這意味着你需要一個動態表格視圖。或者你可以使用尤里卡。 – Sweeper