我有兩個ViewControllers
,X和Y,它們都包含UITextFields
。從X開始,我在字段中輸入一些文本,然後切換到Y並在字段中輸入一些文本。回到X,我輸入的文本仍然存在,而再次返回Y顯示文本已經消失。在所有視圖之間切換時,如何在TextFields
中保留文本?在UITextField中保留文本的視圖
1
A
回答
1
一種可能性:刪除故事板的塞格斯和實施這樣的事情...
class FirstViewController: UIViewController {
lazy var secondVC: SecondViewController = {
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("SecondVC") as! SecondViewController
return vc
}()
@IBAction func buttonTapped(sender: UIButton) {
navigationController?.pushViewController(secondVC, animated: true)
}
}
1
這是因爲,當你從X到Y時,Y實例被創建,並且(我猜)被推到stack UINavigationController。當你按下返回按鈕時,Y實例被取消分配,X再次出現。 X實例與首次創建的X實例相同。當你再次回到Y時,它將從頭開始重新創建,作爲一個新實例。
可能的解決方案:
- 保持該字段的值在「根」視圖控制器作爲自定義對象,或字典並且通過它周圍呈現VCS在
prepareForSegue
即。我的意思是控制器呈現第一頁的形式或只是第一頁vc - 取決於您的需求 - 將它們存儲在用戶默認值中在每個vc中訪問
- 將它們保存在您可以訪問的某個單例對象中每個控制器
相關問題
- 1. 如何在視圖更改時保留UITextField文本
- 2. 添加一個UITextField,將其文本保留在UITableViewCell中
- 3. 在Asp.net中使用視圖狀態保留文本框的值?
- 4. 更改文本視圖文本時保留文本樣式
- 5. 保留視圖
- 6. 在圖像視圖中保留圖像
- 7. 保留文本字段在模態視圖控制器中
- 8. 從UIAlert內部的自定義視圖保存UITextField文本
- 9. UITextField在關注時保留佔位符文本
- 10. 如何在導航到不同的視圖控制器並返回時保留UITextField文本?
- 11. 保留文本
- 12. 在Android視圖中保留數據
- 13. 在路由視圖中保留範圍
- 14. 在列表視圖中保留項目
- 15. 在jquery中保留文本框的值
- 16. 保留表格視圖單元格的文本字段數據
- 17. ios UITextView當keyBoard隱藏時,文本也保留我的視圖
- 18. 如何在子視圖中保留控件文本顏色的功能?
- 19. 如何在切換視圖控制器時保留UIDatePicker和UITextField值?
- 20. 在文本框內保留文本
- 21. 保留視圖控制器
- 22. 在MS Word宏中保留文本框
- 23. 在文本字段中保留逗號
- 24. 如何在D3中保留文本框
- 25. 保留文本框的值
- 26. 保留文本框的值
- 27. 在視圖之間保留數據
- 28. 如何在UITableViewCell上保留子視圖
- 29. 在UITextField中顯示文本
- 30. 將文本放在UITextField中
你使用navigationcontroller?或者如何從X切換到Y? –
@AndreSlotta是的我正在使用NavigationController – mjr
,你如何從X到Y?你是否在故事板中創建了一個segue?或者你是否以編程方式做到這一點? –