证据不足

时间:2012-04-27 10:44:49

标签: iphone ios nsnotifications

我的设置页面中有一个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;

在.m以上的主页面的实现上我写了这个

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"]]];

}

我只收到clicklowlightoff通知,我没有得到第一个通知......我的代码中有任何遗漏? 谢谢你。

1 个答案:

答案 0 :(得分:0)

将您的函数绑定到事件:UIControlEventValueChanged到此函数

-(IBAction)_clickswitchlowlight:(id)sender
    {

    if(switchControll.on){

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

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

    }
}