我正在使用Cocoa的ScreenSaver API編寫屏幕保護程序。它是爲64位拱編譯的,我在Lion上運行它。可可屏幕保護程序配置面板自由浮動
爲了使配置,我已加入下列到主視圖:
- (BOOL)hasConfigureSheet
{
return YES;
}
- (NSWindow*)configureSheet
{
if (configureSheet == nil) {
if (![NSBundle loadNibNamed: @"WTConfigureSheet" owner: self]) {
NSLog(@"Failed to load config sheet");
return nil;
}
}
ScreenSaverDefaults *defaults =
[ScreenSaverDefaults defaultsForModuleWithName: WTModuleName];
backgroundColorWell.color = [defaults objectForKey: @"BackgroundColor"];
lightLetterColorWell.color = [defaults objectForKey: @"LightLetterColor"];
darkLetterColorWell.color = [defaults objectForKey: @"DarkLetterColor"];
return configureSheet;
}
新鮮安裝保護程序之後,點擊「選項」使配置片出現不作爲片材,但自由浮動在屏幕上,沒有邊框。否則,它會正常工作並在被解僱後消失。
當我再次單擊「選項」時,配置表再次出現,這次可以正確顯示爲一個首選項窗口。然後它立即凍結,所以我不能點擊它的任何控件。
有沒有人有一個想法是什麼原因導致此行爲?
我已經檢查了控制檯輸出;沒有什麼可疑的發現。 – waldrumpus 2012-05-11 20:20:06