내 앱의 시작 화면에서 영국 또는 스웨덴의 플래그를 클릭하여 영어와 스웨덴어 사이의 언어를 선택할 수 있습니다. 문제는 단추를 클릭 할 때 ViewDidLoad가 NSUserDefaults의 변경을 인식하지 못한다는 것입니다. 그러나 앱을 다시 시작하면 언어가 클릭 한 최신 플래그가됩니다! 따라서 NSUserDefault는 저장되지만 ViewDidLoad에서 처음으로로드됩니다.ViewDidLoad의 NSUserDefaults에서 데이터로드
영어 플래그를 클릭하면 sprakval이 0으로 설정되고 스웨덴 플래그를 클릭하면 sprakval이 1로 설정됩니다. 플래그를 선택하면 플래그 앞에 눈금 아이콘이있는 이미지로 변경됩니다.
코드 :
-(IBAction) sprakEN
{
sprakval=0;
NSUserDefaults *sprakvalet = [NSUserDefaults standardUserDefaults];
[sprakvalet setInteger:sprakval forKey:@"Sprak "];
[sprakvalet synchronize];
[super viewDidLoad];
}
-(IBAction) sprakSE
{
sprakval=1;
NSUserDefaults *sprakvalet = [NSUserDefaults standardUserDefaults];
[sprakvalet setInteger:sprakval forKey:@"Sprak "];
[sprakvalet synchronize];
[super viewDidLoad];
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSUserDefaults *sprakvalet = [NSUserDefaults standardUserDefaults];
sprakval2 = [sprakvalet integerForKey:@"Sprak "];
if (sprakval2==0)
{
spraklabel.text = [NSString stringWithFormat:@"Language:"];
[lhb setTitle:@"english" forState:UIControlStateNormal];
[hlb setTitle:@"english" forState:UIControlStateNormal];
[fhb setTitle:@"english." forState:UIControlStateNormal];
[blandatb setTitle:@"english.." forState:UIControlStateNormal];
UIImage *encheck = [UIImage imageNamed:@"United_Kingdomchecked.png"];
[enbutton setImage:encheck forState:UIControlStateNormal];
UIImage *seuncheck = [UIImage imageNamed:@"Sweden.png"];
[sebutton setImage:seuncheck forState:UIControlStateNormal];
self.title = @"Game";
}
else if(sprakval2==1)
{
spraklabel.text = [NSString stringWithFormat:@"Språk:"];
[lhb setTitle:@"swedish" forState:UIControlStateNormal];
[hlb setTitle:@"swedish" forState:UIControlStateNormal];
[flb setTitle:@"swedish" forState:UIControlStateNormal];
[fhb setTitle:@"swedish" forState:UIControlStateNormal];
[blandatb setTitle:@"swedish" forState:UIControlStateNormal];
self.title = @"Spel";
UIImage *secheck = [UIImage imageNamed:@"Swedenchecked.png"];
[sebutton setImage:secheck forState:UIControlStateNormal];
UIImage *enuncheck = [UIImage imageNamed:@"United_Kingdom.png"];
[enbutton setImage:enuncheck forState:UIControlStateNormal];
}
// Do any additional setup after loading the view, typically from a nib.
}
'@ "Sprak"는 어떤 목적을 가진 공간입니까? –
흠, 아니. 그러나 나는 그것이 문제가 아니라고 확신합니다! – Mangy92
내 대답을 확인하십시오. 그것은 당신을 위해 일하고 있습니까? –