我已经实施了一个URL方案,用于在付款后重定向回我的应用程序。当网页直接返回我的应用程序时,该应用程序应该打开导航控制器 over 当前视图。 (所以打开模态)。
如何在func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool
方法的AppDelete中执行此操作?
提前致谢!
答案 0 :(得分:2)
您是在使用故事板还是在代理中手动创建窗口?如果您有权访问该窗口,则可以执行以下操作:
s.pte = 'event110,event111,event112,event113,event114,event115,event116,event117,event118,event119'
//[--------------------------- 1 to 8 ---------------------------][-- 9 --][- 10 -]
s.ptc = false;
/*****Plugin Section*******/
s.usePlugins = true
function s_doPlugins(s) {
_satellite.notify("doPlugins fired:" + document.readyState);
/* Previous Page Name */
s.prop55 = s.eVar77 = s.getPreviousValue(s.pageName, 's_ppn');
/* Percent Page Viewed */
/* Pre-requisite: Previous Page Name */
var ppv = s.getPercentPageViewed(s.pageName); //get array of data on prev page % viewed
if (ppv && typeof ppv == 'object' && ppv[0] == s.prop55) { //if ppv array returned and prev page id matches prev page name
s.prop56 = s.eVar78 = ppv[1] + '|' + ppv[2];
}
/* Time Parting Tracking */
var tp = s.getTimeParting('n', '-7');
s.prop44 = s.eVar55 = tp;
/* Performance Timing */
s.eVar77 = s.getPreviousValue(s.pageName, 'gpv_v77', ''); //Record the previous page name in the designated eVar of your choice
//s.performanceTiming('list2') //List variable if one is neededd
/* Pre-requisite: Previous Page Name */
}
否则,它应该适用于所有情况:
window?.rootViewController?.present(yourViewController, animated: true, completion: nil)
答案 1 :(得分:1)
如果提交请求的视图控制器是应该显示模式的视图控制器,我建议采用不同的方法。我建议在通知中心定义一个用于通知当前视图控制器的通知。
在视图控制器中,拨打其中一个通知中心方法,例如addObserver(forName:object:queue:using:)
,以观察您的通知。
然后,当您获得预期的网址时,从您的应用代表的Notification
实施中调用post(name:object:)
方法application(_:open:options:)
。