2014-07-22 3 views
-2

UISwitch이있는 응용 프로그램에 설정 페이지가 있습니다. 스위치를 켜기/끄기 상태로 두어 NSUserDefault을 유지하면됩니다. 처음에는 내 스위치가 꺼져 있습니다. 내 기본보기로 돌아가 스위치 설정 상태가 다시 OFF로 돌아갈 때 설정이 켜집니다. 여기NSUserDefault가있는 UISwitch

코드 : viewWillAppear IN

if ([indexPath row] == 4 && [indexPath section] == 0)//cellForRowAtIndexPath 
    { 

     UISwitch *myst =[[UISwitch alloc]initWithFrame:CGRectMake(170, 10, 30, 30)]; 
     [myst addTarget:self action:@selector(state:) forControlEvents:UIControlEventValueChanged]; 
     [cell.contentView addSubview:myst]; 

    } 


-(IBAction)state:(UISwitch *)sender 
{ 
    NSUserDefaults *standardDefaults =[NSUserDefaults standardUserDefaults]; 

    if (sender.tag == 0) { 
     if (sender.on ==1) { 
      [standardDefaults setObject:@"On" forKey:@"val"]; 

     } 
    }else if(sender.on == 0){ 

     [standardDefaults setObject:@"Off" forKey:@"val"]; 
    } 

    [standardDefaults synchronize]; 


} 

: 심지어보기를 전환 한 후 상태에 있거나 중지하고 다시 실행해야 ON 사용자가 밝혀지면 내가 즉 상태를 확인해야합니다

[super viewWillAppear:animated]; 

    NSUserDefaults *standardDefaults =[NSUserDefaults standardUserDefaults]; 
    if ([[standardDefaults stringForKey:@"val"]isEqualToString:@"On"]) { 

     myst.on=YES; 
    }else if ([[standardDefaults stringForKey:@"val"]isEqualToString:@"Off"]){ 

     myst.on=NO; 
    } 

앱. 이 상태를 유지하는 방법은 무엇입니까?

답변

4

당신은이 생성 jQuery과의 cellForRowAtIndexPath 방법에 UISwitch의 상태를 설정 하지 있습니다. 당신이 스위치 상태를 설정할 필요가있는 TableView에서

,

편집

if ([indexPath row] == 4 && [indexPath section] == 0)//cellForRowAtIndexPath 
{ 

    UISwitch *myst =[[UISwitch alloc]initWithFrame:CGRectMake(170, 10, 30, 30)]; 
    [myst addTarget:self action:@selector(state:) forControlEvents:UIControlEventValueChanged]; 

// You have to set your older state of UISwitch here. 

     NSUserDefaults *standardDefaults =[NSUserDefaults standardUserDefaults]; 
    if ([[standardDefaults stringForKey:@"val"]isEqualToString:@"On"]) { 

     myst.on=YES; 
    }else if ([[standardDefaults stringForKey:@"val"]isEqualToString:@"Off"]){ 

     myst.on=NO; 
    } 
    [cell.contentView addSubview:myst]; 

} 
+0

당신이 같은 초기 상태를 의미한다 "myst.on = NO;" 그게 맞습니까? –

+0

아니요, NSuserDefault에 저장 한 상태입니다. –

+0

나는 그것의 OFF를 추측한다! –