點選連結跳轉到應用指定頁面
公司最近做掃碼跳轉功能,其實有點類似淘寶貼上連結後的跳轉,原理其實是一樣的,下面說一下我的處理。
因為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
- Android 外部喚起應用跳轉指定頁面Android
- nginx 設定 404 500 頁面跳轉到指定頁面Nginx
- 頁面連結跳轉--指定協議,半協議,無協議協議
- vue-cli 跳轉到頁面指定位置Vue
- 卡片跳轉快應用指定頁面,如何點返回直接退出快應用回到卡片
- 點選連結取消跳轉效果
- 短視訊平臺開發,點選連結、圖片自動跳轉到新的頁面
- 直播系統平臺搭建,點選連結跳轉到三方平臺或其他頁面
- NFC 標籤:自動跳轉到指定應用
- iOS 點選推送訊息跳轉指定介面 —總結篇iOS
- js頁面跳轉的問題(跳轉到父頁面、最外層頁面、本頁面)JS
- 404頁面自動跳轉到首頁
- 為 FragmentTabhost 新增 tab 點選事件,在頁面跳轉之前Fragment事件
- 直播app原始碼,跳轉站外連結或平臺內部跳轉頁面APP原始碼
- 頁面內跳轉到相應位置的3種方法
- Android應用中,跳轉到App的詳細設定頁面,設定許可權頁面AndroidAPP
- ArkWeb頁面跳轉與跨應用導航 - 高階應用Web
- 重定向到登入頁面後跳轉原頁面
- Android應用內外跳 — 跳轉到應用市場Android
- 直播平臺開發,實現點選跳轉外部連結時的跳轉步驟
- Flutter頁面跳轉Flutter
- vue頁面跳轉Vue
- react跳轉url,跳轉外鏈,新頁面開啟頁面React
- 成品直播原始碼,html頁面點選按鈕實現頁面跳轉的兩種方法原始碼HTML
- 直播系統原始碼,點選滾動的輪播圖自動跳轉到相應頁原始碼
- 短視訊app開發,點選跳轉到另一個頁面時的過場動畫APP動畫
- 微信公眾號開發之H5頁面跳轉到指定的小程式H5
- router跳轉page頁面
- JavaScript 頁面跳轉效果JavaScript
- Flutter:如何跳轉頁面?Flutter
- Flutter頁面跳轉到IOS原生介面 如何實現?FlutteriOS
- Android跳轉到應用商店的APP詳情頁面,以及 Google GMS 各個apk的包AndroidAPPGoAPK
- 如何從 SAP UI5 Not Found 頁面跳轉回到正常的應用頁面試讀版UI面試
- 如何判斷使用者正在操作頁面?當頁面一個小時沒有操作時跳轉到指定頁面如何做?
- JavaScript頁面跳轉程式碼JavaScript
- app直播原始碼,RecycleView頁面的點選跳轉設計APP原始碼View
- 2024-05-03 uni跳轉頁面a成功後會立即再跳轉到頁面b,導致無法展現頁面a ==》頁面a業務邏輯沒捋清楚