我有兩個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. 更改文本視圖文本時保留文本樣式
- 3. 保留文本字段在模態視圖控制器中
- 4. 從UIAlert內部的自定義視圖保存UITextField文本
- 5. UITextField在關注時保留佔位符文本
- 6. 如何在導航到不同的視圖控制器並返回時保留UITextField文本?
- 7. 保留表格視圖單元格的文本字段數據
- 8. 如何在子視圖中保留控件文本顏色的功能?
- 9. 在文本框內保留文本
- 10. 在文本字段中保留逗號
- 11. 在MS Word宏中保留文本框
- 12. 如何在D3中保留文本框
- 13. 保留文本框的值
- 14. 在視圖之間保留數據
- 15. 如何在UITableViewCell上保留子視圖
- 16. 在保留原始視圖的同時繼承視圖
- 17. 如何在富文本框中保留文本的顏色?
- 18. Xamarin.Forms保留滾動視圖中間的文字放大?
- 19. 從視圖中刪除UITextField
- 20. 傳遞的UITextField文本的UILabel不同的視圖控制器
- 21. textView的文本保留在一行
- 22. 如何在mvc中保留視圖中的授權邏輯?
- 23. Django視圖之間的保留狀態
- 24. UI-Router:如何在切換視圖時保留視圖
- 25. AutoCompleteBox不保留文本
- 26. 文件保留腳本
- 27. 從來電視圖設置UITextField的文本
- 28. Uitextfield視圖翻轉之間的「丟失」文本值
- 29. 傳的UITextField文本從一個視圖到另一個
- 30. 自定義SectionHeaderView在景觀中保留在縱向視圖中
你使用navigationcontroller?或者如何從X切換到Y? –
@AndreSlotta是的我正在使用NavigationController – mjr
,你如何從X到Y?你是否在故事板中創建了一個segue?或者你是否以編程方式做到這一點? –