UIWindow
Pushwooshポータルから送信されたHTMLページを表すために使用しているプッシュ通知用のPushwoosh SDKを統合しています
- (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ページを閉じると、それが呼び出されます
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
はこのブロック補完で提示しようとしましたが、提示しませんでした。
実際、ここでの問題は、私のアプリに2つのUIWindowsがあり、1つはアプリで、もう1つはsdkで使用されることです。別のUIWindowにあるこのhtmlページからView Controllerを提示しようとすると、別の階層が作成され、このウィンドウを閉じると、親子関係のために提示されたviewconrollerも削除されます。このウィンドウを閉じない場合、アプリの実際のフローに戻る方法。
その新しいウィンドウから新しいコントローラーを表示し、その後ウィンドウを閉じて、アプリのフローが追加のウィンドウの影響を受けないようにしたいと考えています。出来ますか?私のコンセプトが間違っている場合は、誰かがアイデアを持っている場合は助けてください
編集: 2 番目の uiwindow がキー ウィンドウになることはありません。より高い windowlevel を設定することによってのみ表示され、非表示になります