2011-08-17 67 views
0

我正在製作一個實用程序應用程序。在另一邊,我有一個UISegmentedControl。根據用戶的選擇,主視圖上的標籤會說明兩件事中的一件。無論出於何種原因,無論何時,只要用戶轉到應用程序的設置(flipside),此功能都能正常工作,而分段控件則會突出顯示控件的相同部分。如果用戶按零件0,然後返回到應用程序,然後返回到設置面板,則分段控件將顯示零件0被選中。如果用戶按下第1部分,然後返回到應用程序,然後返回到設置面板,分段控件將再次顯示選擇的零件0。我可以通過不選擇任何選項來禁用此功能,但問題仍然存在。當用戶做出選擇時,然後轉到主視圖,然後返回到設置窗格,再次沒有被選中。我如何保留用戶的選擇,以便當他們返回到設置窗格時,它將突出顯示他或她最近的選擇?保留UISegmentedControl選項

+0

考慮使用全局變量:http://cocoawithlove.com/2008/11/ singletons-appdelegates-and-top-level.html或http://stackoverflow.com/questions/231947/referencing-appdelegate-instance-variables – tipycalFlow

回答

0

NSUserDefaults的結束了答案:

[[NSUserDefaults standardUserDefaults] setInteger:segmentedControl.selectedSegmentIndex 
    forKey:@"someKey"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

以後,如果你想找回它:

NSInteger selectedSegment = [[NSUserDefaults standardUserDefaults] 
    integerForKey:@"someKey"]; 
+0

我正在嘗試保存段的NSUserDefaults。你能提供你用來保存段的代碼:) –

+0

我已經更新了我的答案。 –

+0

謝謝,還有一個問題,我可以使用segmentcontrol創建if或switch語句:) –