Вопрос

My UISegmentedControl will not stay selected. I have made sure that momentary is NO. So the solutions I have come across on here have not helped.

Would someone please be able to point me in the right direction?

EDIT

Thought I might make this question a bit clearer.

I have a UISegmentedControl and it has four selections (10,20,30,40) which changes the amount of questions asked on my quiz page. Making a selection works fine and changes the amount of questions.

But when I leave that view and go back later on to change the amount of questions again, it shows the selected as 10 even if I have selected something else.

How can I keep it showing the actual selected value?

EDIT

The number of questions is saved in NSUserDefaults.

[[NSUserDefaults standardUserDefaults] setInteger:amountOfQuestions forKey:@"Amount"]

How do I initialize a segmented control with a value from NSUserDefaults?

EDIT - Solved

#SettingsViewController .m file.
- (void)viewDidLoad
{
amountOfQuestions = [[NSUserDefaults standardUserDefaults] integerForKey:@"Amount"];
if (amountOfQuestions == 10) {
mySegment.selectedSegmentIndex = 0;
}

I did not have the below code in my IBAction for my segmented control. So when i tried the above code it did not work. Now it works a treat.

[[NSUserDefaults standardUserDefaults]synchronize]; 
Это было полезно?

Решение

#SettingsViewController .m file.
- (void)viewDidLoad
{
amountOfQuestions = [[NSUserDefaults standardUserDefaults] integerForKey:@"Amount"];
if (amountOfQuestions == 10) {
mySegment.selectedSegmentIndex = 0;
}

I did not have the below code in my IBAction for my segmented control. So when i tried the above code it did not work. Now it works a treat.

[[NSUserDefaults standardUserDefaults]synchronize]; 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top