簡體   English   中英

從“詳細視圖”返回后如何刷新表格視圖?

[英]How do I refresh a table view after returning from a “detail view?”

我是iPhone和Apple開發的新手,並且正在開發我的第一個應用程序。 當選擇表格中的項目時,只需使用TableView和“詳細視圖”即可。

我想要做的是根據我的“詳細視圖”中的一些操作更改TableView中單元格的背景顏色。

當應用程序最初加載時,我在-cellForRowAtIndexPath:方法中自定義顏色,但是當用戶從我的詳細信息視圖中導航回未調用該函數時,我的表視圖沒有更新顏色。 現在刷新的唯一方法是退出應用程序並再次啟動它。 (我堅持選擇NSUserDefaults。)

顯然,我希望表視圖在從詳細視圖返回時刷新,但我不知道如何獲取對單元格的引用以及使用哪種方法來執行此操作。 我假設它應該進入-viewDidAppear ,因為這被稱為視圖顯示的所有內容。

使用[tableView reloadData] - 這將使tableview通過行運行並重建自身。

你應該在viewWillAppear:真正做到這一點viewWillAppear:

此外,您可以使用其visibleCells方法獲取表視圖的可見單元格。 由於表視圖的工作方式,其他單元格根本不存在 - 滾動將觸發委托方法並創建新單元格(如果使用dequeue... ,則將現有單元格dequeue... )。

我想補充一點,如果它在編輯視圖中,然后保存存儲在表中的一些修改信息,你應該有一個委托,檢測數據實際保存的時間,然后重新加載你的tableview。 每次出現視圖時都會觸發viewWillAppear。 我認為您所追求的只是在數據被更改后才想要刷新表格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM