2017-07-18 41 views
0

每次打開應用程序時,我想提供一個視圖控制器(用於本地身份驗證,如觸摸ID /密碼)。在iOS中打開應用程序後呈現視圖控制器的方法是什麼?

實現此目標的確切方法是什麼?

我目前的做法是,我得到標籤欄控制器的參考,並用它來呈現這個視圖控制器的密碼/觸摸ID。

但是,當顯示警報控制器(警報或操作單)時,它不起作用。

有關如何實現此目的的任何建議?

謝謝!

+0

Apple建議在用戶按下主頁按鈕時關閉任何警報視圖。如果您在應用程序發送到後臺時解僱他們,那麼您的解決方案將起作用。 – Pochi

+0

好的,那麼它會很好,你可以發佈鏈接到蘋果文檔,該文檔在底部描述了相同的https://developer.apple.com/ios/human-interface-guidelines/ui-views/alerts/ – raghvendra

+0

說:「允許主頁按鈕取消警報」 – Pochi

回答

2

遵循以下步驟:

1)取一個空的viewController到你的故事板或XIB。

2)將它指定爲initalViewController。一旦啓動畫面消失,它就會出現。

3)你可以做Passcode/Touch ID的東西你想做什麼。

4)之後,您可以使用正常的應用程序流程。

希望它會幫助你:)

+0

我的初始視圖控制器是一個簡單的,用於決定用戶是否已登錄或想要登錄或創建帳戶。用戶登錄後會轉到Tabbar控制器。之後,最初的視圖控制器不會進入圖片,直到您刪除應用程序。 – raghvendra

+0

你喜歡做什麼?當用戶註銷時,您需要打開初始視圖控制器或直接登錄控制器? – Nirmalsinh

+0

我想展示一個View Controller,它會要求用戶在繼續之前進行身份驗證。這應該發生在用戶打開應用程序時。 – raghvendra

0

一種方法可能是目前這個LocalAuthentication ControllerUIApplication.shared.keyWindow.rootViewController從AppDelegate中didFinishLaunchingWithOptions,所以當應用程序啓動,你會經常看到鎖屏,使用後提供無論是觸摸Id或好creds,你」將清除tabBarController並將其顯示到窗口

0

設置storyboard reference idTouchId/Authentication view controllerstoryboard

初始化的​​並將其顯示在應用程序來前景(applicationDidBecomeActive(_:)

func applicationDidBecomeActive(_ application: UIApplication) { 
    let storyboard = UIStoryboard(name: "storyboardname", bundle: nil) 
    let authenticationVC = storyboard(withIdentifier: "authenticationvc reference id") 
    UIApplication.shared.keyWindow?.rootViewController?.present(authenticationVC, animated: true, completion: nil) 
//After successful authentication dismiss the view and go with normal flow. 
} 
+0

謝謝你的回答。但是,它不起作用。我得到一個錯誤,說rootViewController不在呈現視圖控制器的層次結構中。顯示模式如動作表或警報視圖時 – raghvendra

0

只是要驗證屏幕的初始視圖控制器,然後把它Segue公司到您的主着陸頁驗證完成後。

相關問題