點選連結跳轉到應用指定頁面
公司最近做掃碼跳轉功能,其實有點類似淘寶貼上連結後的跳轉,原理其實是一樣的,下面說一下我的處理。
因為iOS的原因,這邊從第三方掃碼裡進入的話統一提示使用者使用Safari開啟,開啟後自動提示是否跳轉到“XXX APP”,在下方處理你點選連結後獲取的內容。在這裡,需要連結裡有一個特殊的字元,你能判斷這是你自己的連結後做的操作,否則會任意一個連結都會進入此方法。
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{}
這種情況是APP已經開了一個程式在後臺,於是要保證APP在任何介面下都能跳轉到指定的頁面,於是我們要在APPDelegate處理跳轉,在這裡做跳轉主要就是要獲取到當前可視的控制器,獲取到當前的控制器後用push方法即可。如下程式碼所示:
獲取到當前控制器
-(UIViewController *)currentViewController
{
UIViewController * currVC = nil;
UIViewController * Rootvc = self.window.rootViewController ;
do {
if ([Rootvc isKindOfClass:[UINavigationController class]]) {
UINavigationController * nav = (UINavigationController *)Rootvc;
UIViewController * v = [nav.viewControllers lastObject];
currVC = v;
Rootvc = v.presentedViewController;
continue;
}else if([Rootvc isKindOfClass:[UITabBarController class]]){
UITabBarController * tabVC = (UITabBarController *)Rootvc;
currVC = tabVC;
Rootvc = [tabVC.viewControllers objectAtIndex:tabVC.selectedIndex];
continue;
}else if ([Rootvc isKindOfClass:[XXXCustom class]]){
XXXCustom * tabVC = (XXXCustom *)Rootvc;
currVC = tabVC;
Rootvc = tabVC.selectedViewController;
continue;
}
} while (Rootvc!=nil);
return currVC;
}
用獲取到的控制器再到openURL方法裡,push控制器即可。
當然,大家在實際開發中的時候,有很多其他的判斷條件,要考慮到是否登入,是否有許可權等,所以開發結合實際情況在跳轉前做自己的相應操作即可。
相關文章
- jQuery點選平滑跳轉到頁面指定位置jQuery
- nginx 設定 404 500 頁面跳轉到指定頁面Nginx
- Android 外部喚起應用跳轉指定頁面Android
- vue-cli 跳轉到頁面指定位置Vue
- 卡片跳轉快應用指定頁面,如何點返回直接退出快應用回到卡片
- 頁面連結跳轉--指定協議,半協議,無協議協議
- 短視訊平臺開發,點選連結、圖片自動跳轉到新的頁面
- 直播系統平臺搭建,點選連結跳轉到三方平臺或其他頁面
- 瀏覽器內外跳 -- 跳轉到指定應用瀏覽器
- 指定秒數之後跳轉到其他頁面程式碼
- js頁面跳轉的問題(跳轉到父頁面、最外層頁面、本頁面)JS
- ios跳轉到通用頁面iOS
- NFC 標籤:自動跳轉到指定應用
- Excel怎樣連結到word文件中指定的頁面Excel
- iOS 點選推送訊息跳轉指定介面 —總結篇iOS
- 為 FragmentTabhost 新增 tab 點選事件,在頁面跳轉之前Fragment事件
- history API 和錨點連結在單頁應用頁面切換中的應用API
- ArkWeb頁面跳轉與跨應用導航 - 高階應用Web
- Android解除安裝程式之後跳轉到指定的反饋頁面Android
- 直播app原始碼,跳轉站外連結或平臺內部跳轉頁面APP原始碼
- Android應用中,跳轉到App的詳細設定頁面,設定許可權頁面AndroidAPP
- nginx訪問預設index.html首頁跳轉指定頁面NginxIndexHTML
- app跳轉到指定appAPP
- vue頁面跳轉Vue
- Flutter頁面跳轉Flutter
- javascript 跳轉頁面JavaScript
- js頁面跳轉JS
- 防止點選連結<a>有跳轉動作解決方案
- 讓頁面在指定時間之後跳轉程式碼
- 成品直播原始碼,html頁面點選按鈕實現頁面跳轉的兩種方法原始碼HTML
- react跳轉url,跳轉外鏈,新頁面開啟頁面React
- 短視訊app開發,點選跳轉到另一個頁面時的過場動畫APP動畫
- 微信公眾號開發之H5頁面跳轉到指定的小程式H5
- iOS應用跳轉到appstore評分,首頁iOSAPP
- js跳轉頁面方法(轉)JS
- 單頁面應用微信分享跳坑指南
- 點選可以平滑定位到網頁指定位置網頁
- 直播平臺開發,實現點選跳轉外部連結時的跳轉步驟