因為項目需要,需要在添加銀行卡和提現頁面使用數字鍵盤, 如果用戶沒有安裝第三方鍵盤是沒啥大問題的,但是如果用戶手機安裝了第三方的鍵盤的話,有時候會無法調用起第三方的數字鍵盤,或者第三方鍵盤樣式不符合,這個時候系統的數字鍵盤是比較符合我們的需求的。那么我們如何在特定的頁面使用系統自帶的數字鍵盤呢?
其實簡單我們只需要實現 UIApplicationDelegate 的如下代理方法即可:
/// 此方法的作用是是否使用第三方鍵盤 /// /// - Parameters: /// - application: application 對象 /// - extensionPointIdentifier: 第三方鍵盤的標識 /// - Returns: true 表示使用第三方鍵盤 fanse 表示不使用 func application(_ application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplicationExtensionPointIdentifier) -> Bool { //遍歷當前根控制器的所有子控制器找到我們需要的子控制器 for vc in (self.window?.rootViewController?.childViewControllers)! { //這里的MainNavigationController是我自定義的導航控制器 if vc.isKind(of: MainNavigationController.self) { for vc1 in vc.childViewControllers { //如果是 添加銀行卡界面 和 提現頁面 禁止使用第三方鍵盤 if vc1.isKind(of: AddBBankCardController.self) || vc1.isKind(of: WithdrawViewController.self) { return false } } } } return true }
關於系統自帶的數字鍵盤無法輸入小數點的問題如何解決請看我的另一篇文章: ios自定義數字鍵盤