Настройки приложения для iOS - PullRequest
0 голосов
/ 17 августа 2011

Я делаю служебное приложение, и у меня есть ярлык на главном экране. В зависимости от выбора пользователя, этот ярлык должен сказать одну из двух вещей. Как я могу использовать сегментированный элемент управления для изменения текста метки?

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

С другой стороны, создайте IBAction с именем segmentedControlChanged - и подключите его к триггеру «значение изменилось» на сегментированном элементе управления.

В верхней части контроллера настроек объявите эту константу:

#define kSegmentKey @"SegmentSetting" // Call these whatever you want

В вашем методе segmentedControlChanged напишите NSUserDefaults, например, так:

- (IBAction)segmentedControlChanged:(id)sender {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setInteger:[sender selectedSegmentIndex] forKey:kSegmentKey];
}

В контроллере вашего основного вида viewWillAppear введите следующий код:

- (void)viewWillAppear:(BOOL)animated {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    int setting = [defaults integerForKey:kSegmentKey];
    if (setting == 0) {
        myLabel.text = @"First Message";
    }
    else {
        myLabel.text = @"Second Message";
    }
}
0 голосов
/ 17 августа 2011

Вы можете:

(1) сохраняет значение сегментированного элемента управления в переменной, которая передается как возвращаемое значение методу FlipsideViewControllerDidFinish, или же

(2) сохраняет значение в некоторой области, доступной как для вида Flipside, так и для вида First, например [NSUserDefaults standardUserDefaults].

...