我正在使用Swift處理iOS項目。我有一個嵌入在UINavigationController
中的ViewController
。我的應用與plist
中的PDF
文件關聯。用戶可以在項目中打開通過電子郵件發送給他們的PDF
。我知道這再與交易:使用Swift2從AppDelegate重新打開iOS應用程序到指定的導航控制器
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
if url != "" {
// Load from Mail App
incomingFileTransfer = url
incomingStatus = "Incoming"
/*let rootViewController = self.window!.rootViewController
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let setViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainMenu") as! MainMenuViewController
rootViewController?.navigationController?.popToViewController(setViewController, animated: false)*/
} else {
// Regular Load
print("App Delegate: No incoming file")
incomingFileTransfer = nil
}
return true
}
如果用戶在應用的其他區域,他們再次從PDF
打開應用程序,該應用程序打開回到他們在那裏的區域。我希望它總是打開第一個加載的ViewController
。我看了here,並試圖在我上面的章節AppDelegate
中實現這一點,但沒有運氣。有人可以請特別在Swift中幫忙嗎?將Objective-C轉換爲Swift並不是很棒。
我ViewController
有Title
設定爲MainMenu
:
這ViewController
有UINavigationController
設定爲Initial View
和Main
名稱:
的Storyboard
有的內UINavigationController
Identity Inspector
:
更新:
對不起。 url
被分配給全球Variable
,然後被加載到的另一個ViewController
。
*試圖實現這個沒有運氣*系統給了你一個URL,你沒有做任何事情,或從導航控制器堆棧中刪除任何推送的視圖控制器。你在哪裏打開了URL,或讓你的導航控制器的初始視圖控制器顯示PDF? –
對不起。請參閱更新。 – ChallengerGuy
http://stackoverflow.com/questions/8329999/restart-iphone-application-from-the-very-beginning這篇文章應該做你想找的。 – NSGangster