我在UIPopoverController中有一個UISwitch,當您打開彈出窗口VC時,它的默認設置爲ON。我試圖將它設置爲當您將其設置爲「OFF」並關閉UIPopover時 - 當您重新打開彈出窗口時,UISwitch的狀態保持不變。對於我的生活,我無法弄清楚這一點,我敢打賭這真的很簡單。我想知道是否有人能夠指出我正確的方向?任何幫助將非常感謝,謝謝!解除UIPopover時,UISwitch不會保持關閉狀態
[編輯]這是我的工作代碼:
//--NEW CODE--//
#define SWITCH_KEY_STATE @"Save UISwitch State"
- (IBAction)settingsPopover:(id)sender {
if(![pop isPopoverVisible]){
settings = [[settingsView alloc] initWithNibName:@"settingsView" bundle:nil];
settings.setDelegate = self;
pop = [[UIPopoverController alloc] initWithContentViewController:settings];
[pop setPopoverContentSize:CGSizeMake(200, 100)];
[pop presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
//--NEW CODE--//
popoverState = [NSUserDefaults standardUserDefaults];
self.settings.hintSwitch.on = [popoverState boolForKey:SWITCH_KEY_STATE];
[self.settings.hintSwitch addTarget:self action:@selector(onOff:) forControlEvents:UIControlEventValueChanged];
} else {
[pop dismissPopoverAnimated:YES];
}
}
這是創建酥料餅的[self.settings.hintSwitch...
功能是酥料餅(設置)呼籲UISwitch它時,它的互動用它運行這個空間功能:
- (void)onOff:(id)sender {
if (settings.hintSwitch.on) {
tutView.hidden = NO;
} else {
tutView.hidden = YES;
//--NEW CODE--//
popoverState = [NSUserDefaults standardUserDefaults];
[popoverState setBool:self.settings.hintSwitch.on forKey:SWITCH_KEY_STATE];
}
}
使作品發現它只是當我關閉酥料餅,然後重新打開它,它重置UISwitch爲「ON」。
[編輯2]我已經編輯了上面的代碼,我已經添加了。哪些工作!
答案很簡單:在關閉彈出窗口時保存狀態並在重新打開時修改它。 但是你必須發佈一些代碼,因爲適合你的答案取決於你的代碼。 –
好酷感謝,我編輯了我的第一篇文章,包括代碼。 – Ollie177