亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS應用程序之間的幾種跳轉情況詳解

2020-07-26 03:10:19
字體:
來源:轉載
供稿:網友

前言

在iOS開發的過程中,我們經常會遇到比如需要從一個應用程序A跳轉到另一個應用程序B的場景。這就需要我們掌握iOS應用程序之間的相互跳轉知識。下面我們就常用到的幾種跳轉情況進行介紹。

一、跳轉到另一個程序的主界面

每個程序都該有一個對應的Scheme,以確定對應的url


一個程序要跳轉到(打開)另外一個程序,需要將另外一個程序的Scheme添加到自己的應用程序白名單中(在info.plist中配置:LSApplicationQueriesSchemes,類型為數組,在數組中添加相應的Scheme)->ios9.0開始


跳轉代碼

extension ViewController { @IBAction func jumpToXinWen(sender: AnyObject) {  openURL("xinWen://") } private func openURL (urlString : String) {  let url = NSURL(string: urlString)!  if UIApplication.sharedApplication().canOpenURL(url) {   UIApplication.sharedApplication().openURL(url)  } }}

二、跳轉到另一個程序的指定界面

完成上面程序間跳轉的相應設置

實現跳轉代碼(與跳轉到主頁相比,url多了參數,?前面參數是目標程序想要跳轉界面的segu標簽,?后面是當前程序的scheme)

 // MARK: - 跳轉微信朋友圈 @IBAction func jumpToWeChatTimeLine(sender: AnyObject) {  openURL("WeChat://TimeLine?xinWen") } // MARK: - 跳轉微信好友 @IBAction func jumpToWeChatSession(sender: AnyObject) {  openURL("WeChat://Session?xinWen") } private func openURL (urlString : String) {  let url = NSURL(string: urlString)!  if UIApplication.sharedApplication().canOpenURL(url) {   UIApplication.sharedApplication().openURL(url)  }

在目標程序AppDelegate中監聽用來跳轉的相應信息,根據這些信息讓目標程序自己實現頁面切換

extension AppDelegate { //監聽當前程序被其他程序通過什么樣的Url打開 func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {  //根據url跳轉對應頁面  //1.url轉化成字符串  let urlString = url.absoluteString  //2.獲取首頁控制器  let rootVc = application.keyWindow?.rootViewController  let mainVc = rootVc?.childViewControllers[0] as! ViewController   //將url傳遞給mianVc  mainVc.urlString = urlString  //3.根據字符串內容完成對應跳轉  if urlString.containsString("Session") {//跳轉好友   mainVc.performSegueWithIdentifier("Session", sender: nil)  }else if urlString.containsString("TimeLine") {//跳轉朋友圈   mainVc.performSegueWithIdentifier("TimeLine", sender: nil)  }  return true }}

三、如何從目標程序的非主頁界面回到當前(跳轉前)程序呢?

思路: 只要在目標程序的非主頁界面知道跳轉前的程序的URL即可直接跳轉,所以,這里的關鍵是如何將跳轉前的程序的URL傳遞到目標程序的非主頁界面.

     在目標控制器APPDelegate中能獲取到用來跳轉的URl信息的方法中將url傳遞給mianVC(事先定義好接收數據的屬性),如上面代碼所示.

     在mianVc 中將url傳遞給需要切換的控制器(事先定義好接收數據的屬性)

 //切換界面,需要來到該方法.能夠拿到切換前后的控制器 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {  if segue.identifier == "Session" {   let sessionVc = segue.destinationViewController as! SessionViewController   //傳遞數據   sessionVc.urlString = urlString  } }}

在目標控制器中根據url信息,獲取跳轉前控制器的scheme,從而得到跳轉回去的url.

class SessionViewController: UIViewController { //接收數據 var urlString = "" override func viewDidLoad() {  super.viewDidLoad()  navigationItem.leftBarButtonItem = UIBarButtonItem(title: "退回跳前應用", style: .Plain, target: self, action: #selector(backToStartApp)) }}extension SessionViewController { func backToStartApp() {  //分割Url,獲取跳轉前的程序的scheme  let scheme = urlString.componentsSeparatedByString("?")[1]  print(scheme)  //拼接字符串  let backString = "/(scheme)://"  //打開url  openURL(backString) } private func openURL (urlString : String) {  let url = NSURL(string: urlString)!  if UIApplication.sharedApplication().canOpenURL(url) {   UIApplication.sharedApplication().openURL(url)  } }}

總結

以上就是關于iOS應用程序之間跳轉的全部內容,希望能對各位iOS開發者們有所幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩一区二区免费在线观看| 欧美激情aaaa| 亚洲天堂男人天堂| 亚洲最大在线视频| 久久亚洲精品一区二区| 日本久久久a级免费| 国产主播精品在线| 91久久精品美女| 中文字幕无线精品亚洲乱码一区| 日韩精品视频在线观看网址| xxxx欧美18另类的高清| 久久精彩免费视频| 日韩美女福利视频| 国产极品jizzhd欧美| 亚洲欧美第一页| 在线成人激情视频| 国产成人精品综合| 2019av中文字幕| 欧美激情久久久久| 国产精品视频男人的天堂| 欧美精品videosex性欧美| 日韩69视频在线观看| 精品一区电影国产| 欧美精品电影在线| 亚洲精品v天堂中文字幕| 欧洲成人在线观看| 中国人与牲禽动交精品| 一本色道久久88综合亚洲精品ⅰ| 国产精品亚洲综合天堂夜夜| 国产不卡精品视男人的天堂| 日本精品视频在线| 亚洲激情电影中文字幕| 91高清视频免费| 中文字幕国产精品| 久久久久久这里只有精品| 欧美巨乳在线观看| 中文字幕亚洲欧美| 日本人成精品视频在线| 久久久久久久久国产| 成人免费观看网址| 国产精品国产福利国产秒拍| 最近2019中文免费高清视频观看www99| 欧美电影免费观看高清| 欧美国产日韩免费| 亚洲国产日韩欧美综合久久| 清纯唯美日韩制服另类| 亚洲成人久久网| 欧美精品久久久久久久免费观看| 国产亚洲日本欧美韩国| 亚洲欧美综合区自拍另类| 九九精品视频在线观看| 日韩av理论片| 亚洲人成电影网站色| 日韩欧美一区二区在线| 亚洲视频在线免费看| 日韩av一区在线| 伊人男人综合视频网| 亚洲一区二区三区香蕉| 中文字幕国产亚洲2019| 成人黄色大片在线免费观看| 在线观看91久久久久久| 奇米4444一区二区三区| 美女视频黄免费的亚洲男人天堂| 亚洲午夜未满十八勿入免费观看全集| 亚洲韩国日本中文字幕| 国产精品美女主播| 亚洲精品日韩激情在线电影| 亚洲人成在线免费观看| 国产精品久久久久久久久久三级| 亚洲美女中文字幕| 国产精品久久久久久久久久久久| 亚洲国产又黄又爽女人高潮的| 国产一区二区久久精品| 欧美成人免费网| 日韩中文字幕在线看| 久久深夜福利免费观看| 久久亚洲私人国产精品va| 亚洲免费福利视频| 欧美肥老妇视频| 最新中文字幕亚洲| 成人乱人伦精品视频在线观看| 欧美高清无遮挡| 色综合色综合久久综合频道88| 91在线视频精品| www.日本久久久久com.| 日本久久久久亚洲中字幕| 精品久久久999| 亚洲国产日韩欧美在线动漫| 永久免费看mv网站入口亚洲| 亚洲自拍小视频| 国产91色在线|| 中文字幕精品一区二区精品| 日韩电影免费在线观看中文字幕| xvideos国产精品| 国产精品视频xxx| 高清欧美一区二区三区| 日韩激情在线视频| 日韩的一区二区| 综合网中文字幕| 亚洲片在线观看| 亚洲区一区二区| 欧美性开放视频| 欧美三级xxx| 清纯唯美亚洲综合| 国产精品99久久久久久白浆小说| 亚洲精品国精品久久99热| 主播福利视频一区| 在线丨暗呦小u女国产精品| 国产成人+综合亚洲+天堂| 国产99久久精品一区二区 夜夜躁日日躁| 午夜精品蜜臀一区二区三区免费| 欧美精品在线播放| www.99久久热国产日韩欧美.com| 国产精品国语对白| 日韩中文字幕在线视频播放| 国语自产偷拍精品视频偷| 午夜精品国产精品大乳美女| 亚洲成av人影院在线观看| 亚州精品天堂中文字幕| 亚洲精品少妇网址| 午夜精品99久久免费| 日本欧美国产在线| 夜色77av精品影院| 国产精品老牛影院在线观看| 欧美有码在线观看| 国产免费一区二区三区香蕉精| 日韩av影视在线| 国产精品爱啪在线线免费观看| 久久天堂av综合合色| 色悠久久久久综合先锋影音下载| 一本色道久久综合狠狠躁篇的优点| 亚洲免费视频在线观看| 久久久伊人欧美| 欧美视频免费在线观看| 欧美一乱一性一交一视频| 国产精品免费网站| 欧美精品国产精品日韩精品| 国产欧美精品一区二区| 91精品国产777在线观看| 国产精品女主播视频| 亚洲精品456在线播放狼人| 亚洲成av人乱码色午夜| 亚洲精品白浆高清久久久久久| 亚洲最大福利网| 久久久免费电影| 国产免费一区二区三区香蕉精| 一区二区欧美激情| 久久综合网hezyo| 黑人巨大精品欧美一区二区免费| 日韩av电影在线网| 久久手机精品视频| 亚洲韩国日本中文字幕| 久久精品视频在线| 久久人人爽人人爽人人片亚洲| 国产成人精品免高潮在线观看| 欧美夜福利tv在线| 久久久国产精品免费| 欧美在线观看一区二区三区| 亚洲淫片在线视频| 国产精品久久久久久久久粉嫩av| 国产精品劲爆视频| 欧美成人免费一级人片100| 亚洲欧美www| 在线视频日本亚洲性|