我不想让手机入睡,所以我正在使用:
[ [ UIApplication sharedApplication ] setIdleTimerDisabled:YES ] ;
Run Code Online (Sandbox Code Playgroud)
但我确实需要用手机将屏幕灰化,以免浪费电池.我已经看过这个问题如何在iPhone应用程序中调暗视图?,但需要更多细节.
我正在尝试这样的事情:
将opaqueWindow设置为最前面(加载了320 x 480黑色图像)
[opaqueWindow makeKeyAndVisible];
[ opaqueWindow setAlpha:1.00 ] ;
[ mainWindow setAlpha:0.10 ] ;
Run Code Online (Sandbox Code Playgroud)
并尝试返回mainWindow并将其设置在最前面(选择器控件和一些标签):
[ opaqueWindow setAlpha:0 ] ;
[mainWindow makeKeyAndVisible];
[ mainWindow setAlpha:1.00 ] ;
Run Code Online (Sandbox Code Playgroud)
我的应用中只能有一个关键窗口,对吗?所以当mainWindow成为键时,则opaqueWindow不会,反之亦然.我创建opaqueWindow并访问mainWindow,如下所示:
opaqueWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen ] bounds]];
opaqueView = [[UIView alloc] init];
[opaqueWindow addSubview:opaqueView];
mainWindow = [ myApplication keyWindow ] ;
Run Code Online (Sandbox Code Playgroud)
即使我试图让我的mainWindow再次激活,我的控件仍然是灰色的,opaqueWindow似乎仍然可以控制.
我是iphone开发的新手,我一直在寻找Cocoa Touch for iphone 3开发者参考和其他一些书籍.
我将不胜感激任何帮助或建议.
谢谢!
Piesia
编辑:我假设opaqueWindow需要将按钮单击传递给mainWindow,而opaqueWindow是关键.我是从opaqueWindow的按钮处理程序中调用mainWindow的按钮处理程序还是有更好的方法来执行它.谢谢!P.