NSnotifiaction сомнения

У меня есть UISwitchcontroller на моей странице настроек, чтобы изменить изображение на главной странице. Так что я помещаю уведомление от еды страницы на главную страницу... но только одно уведомление я активен каждый раз, мой код переключения страницы настройки выглядит следующим образом

-(IBAction)_clickswitchlowlight:(id)sender
{

if(switchControll.on){

    [switchControll setOn:YES animated:YES];

    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIF_lowlighton object:nil];



}
else{
    [switchControll setOn:NO animated:YES];

   [[NSNotificationCenter defaultCenter] postNotificationName:NOTIF_lowlightoff object:nil];

}
}

на моей главной странице. я пишу этот код

extern NSString * const NOTIF_lowlighton;
extern NSString * const NOTIF_lowlightoff;

в. м выше реализации главной страницы я пишу это

NSString * const NOTIF_lowlighton = @"lowlighton";
NSString * const NOTIF_lowlightoff = @"lowlightoff";

в viewwillappear я пишу этот код

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(clicklowlighton:) name:@"lowlighton" object:nil];
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(clicklowlightoff:) name:@"lowlightoff" object:nil];
}

тогда этот код для изменения изображения

- (void)clicklowlighton:(NSNotification *)notif 
{
    [[self multiPageView] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bgipad"]]];

}
- (void)clicklowlightoff:(NSNotification *)notif 
{
     [[self multiPageView] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bglowlight@2x"]]];

}

я получаю только уведомление о нажатии на кнопку, я не получаю первое уведомление... что-то отсутствует в моем коде? заранее спасибо.

1 ответ

Привязать вашу функцию к событию: UIControlEventValueChanged для этой функции

-(IBAction)_clickswitchlowlight:(id)sender
    {

    if(switchControll.on){

        [[NSNotificationCenter defaultCenter] postNotificationName:NOTIF_lowlighton object:nil];
    }
    else{

       [[NSNotificationCenter defaultCenter] postNotificationName:NOTIF_lowlightoff object:nil];

    }
}
Другие вопросы по тегам