我整合Pushwoosh SDK推送通知,這是使用UIWindow
表示從Pushwoosh門戶開關兩者之間的UIWindow的
- (void) showWebView {
self.richPushWindow.alpha = 0.0f;
self.richPushWindow.windowLevel = UIWindowLevelStatusBar + 1.0f;
self.richPushWindow.hidden = NO;
self.richPushWindow.transform = CGAffineTransformMakeScale(0.01, 0.01);
[UIView animateWithDuration:0.3 animations:^{
self.richPushWindow.transform = CGAffineTransformIdentity;
self.richPushWindow.alpha = 1.0f;
} completion:^(BOOL finished) {
}];
}
- (void) showPushPage:(NSString *)pageId {
NSString *url = [NSString stringWithFormat:kServiceHtmlContentFormatUrl, pageId];
HtmlWebViewController *vc = [[HtmlWebViewController alloc] initWithURLString:url];
vc.delegate = self;
vc.supportedOrientations = supportedOrientations;
self.richPushWindow.rootViewController = vc;
[vc view];
}
而且在關閉HTML頁面上發送的HTML頁面調用
self.richPushWindow.transform = CGAffineTransformIdentity;
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
self.richPushWindow.transform = CGAffineTransformMakeScale(0.01, 0.01);
self.richPushWindow.alpha = 0.0f;
} completion:^(BOOL finished) {
AppDelegate * appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
self.richPushWindow.hidden = YES;
}];
現在我想在關閉這個HTML頁面時調用我的視圖控制器。所以我試圖在這個區塊完成但不出示myviewcotrlller
。
其實這裏的問題是,我的應用程序中有兩個UIWindows其中一個應用程序和其他sdk使用。現在,如果我嘗試從這個HTML頁面呈現視圖控制器,這是在單獨的UIWindow,所以它創建一個單獨的層次結構,當我關閉這個窗口也由於父 - 子關係刪除我提交的viewconroller。如果不關閉這個窗口,那麼如何回到實際的應用程序流程。
我希望新控制器應該從新窗口出現,之後窗口應該關閉,應用程序的流程不應該受到額外窗口的影響。可能嗎?如果我的觀念是錯誤的,請幫助,如果任何人有想法
編輯:秒的UIWindow永遠是關鍵的窗口,它只是通過設置較高的windowlevel,成爲隱藏
感謝您的回答,爲我工作得很好 – Archive 2013-04-30 11:39:23