3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
這種快速簡便的方法將在iOS7或更高版本的應(yīng)用切換器中生成應(yīng)用程序圖標(biāo)上方的黑色快照。
首先,獲取應(yīng)用程序的關(guān)鍵窗口(通常在應(yīng)用程序中的AppDelegate.m中設(shè)置:didFinishLaunchingWithOptions),并在應(yīng)用程序即將移至后臺(tái)時(shí)隱藏它:
- (void)applicationWillResignActive:(UIApplication *)application{ if(isIOS7Or8) { self.window.hidden = YES; }}
然后,當(dāng)您的應(yīng)用再次變?yōu)榛顒?dòng)狀態(tài)時(shí),取消隱藏應(yīng)用的關(guān)鍵窗口:
- (void)applicationDidBecomeActive:(UIApplication *)application{ if(isIOS7Or8) { self.window.hidden = NO; }}
此時(shí),請(qǐng)檢查應(yīng)用程序切換器,確認(rèn)您在應(yīng)用程序圖標(biāo)上方看到黑色快照。我注意到,如果您在將應(yīng)用程序移動(dòng)到后臺(tái)后立即啟動(dòng)應(yīng)用程序切換器,可能會(huì)有~5秒的延遲,您將看到應(yīng)用程序的快照(您要隱藏的應(yīng)用程序的快照?。笏D(zhuǎn)換為全黑快照。我不確定延遲是怎么回事; 如果有人有任何建議,請(qǐng)加入。
如果你想在切換臺(tái)中使用黑色以外的顏色,你可以通過添加一個(gè)你喜歡的任何背景顏色的子視圖來做這樣的事情:
- (void)applicationWillResignActive:(UIApplication *)application{ if(isIOS7Or8) { UIView *colorView = [[[UIView alloc] initWithFrame:self.window.frame] autorelease]; colorView.tag = 9999; colorView.backgroundColor = [UIColor purpleColor]; [self.window addSubview:colorView]; [self.window bringSubviewToFront:colorView]; }}
然后,當(dāng)您的應(yīng)用再次變?yōu)榛顒?dòng)狀態(tài)時(shí),請(qǐng)移除此顏色子視圖:
- (void)applicationDidBecomeActive:(UIApplication *)application{ if(isIOS7Or8) { UIView *colorView = [self.window viewWithTag:9999]; [colorView removeFromSuperview]; }}
- 3 回答
- 0 關(guān)注
- 681 瀏覽
添加回答
舉報(bào)