2017-10-20 51 views
-1

我正在爲iOS 11編寫一個程序。我試圖編寫應用程序來安裝適當的語言包,如果它沒有安裝在iPhone上。該應用程序是一個「學習漢字」程序。我想確保用戶已經在iOS設備上安裝了中文輸入。我想知道有沒有人知道有什麼功能可以幫助iOS用戶爲他們安裝正確的語言包。如何在iOS設備上安裝語言?

+0

我不認爲你可以做到這一點。我認爲更合理的做法是有一些教程畫面來向用戶展示如何使用他們的iphone添加中文輸入法,例如,用戶可以在設置 - >常規 - >鍵盤 - >添加新鍵盤中添加新鍵盤。 .. – Surely

+0

我將不得不編輯我的網頁,並向他們展示如何編輯輸入鍵盤來爲輸入安裝中文。 – TFLOW9Z1

+0

我回滾了上次的編輯,因爲接受答案後不適合完全重做您的問題。如果您有其他問題(例如如何顯示警報),則應發佈針對該問題的新問題。 – rmaddy

回答

1

無法以編程方式添加鍵盤。用戶必須通過運行設置應用程序並轉到常規 - >鍵盤 - >鍵盤並選擇「添加新鍵盤...」來完成此操作。

但是,您可以檢測某個鍵盤是否已安裝。所以你可以檢查用戶是否添加了中文鍵盤。如果他們沒有,您可以顯示一條消息,並附帶說明,告訴他們如何添加鍵盤。

var hasChinese = false 
let keyboards = UITextInputMode.activeInputModes 
for keyboard in keyboards { 
    if let language = keyboard.primaryLanguage { 
     if language.hasPrefix("zh") { 
      hasChinese = true 
     } 
    } 
} 

if !hasChinese { 
    // show message with instructions 
} 

您可能希望檢查特定的中文鍵盤而不是任何中文鍵盤。根據需要調整language的檢查。

+0

我創建了一個彈出消息,但由於某種原因沒有顯示出來..... Message.createAlert(title:「Testing」,message:「Testing」)func createAlert(title:String,message:String) { (alert.addAction(UIAlertAction(title:「OK」,style:UIAlertActionStyle.default,handler:{(action)in alert.dismiss())(alert(UIAlertControl)動畫:true,completion:nil); print(「Message Alert UI was activated」)})) present(alert,animated:true,completion:nil) – TFLOW9Z1

+0

這是一個完全不同的問題。您是否至少能夠正確確定用戶是否安裝了所需的鍵盤?如果是這樣,你應該表明你的問題已經通過接受答案來回答。如果你有新問題,你應該發佈一個新問題。 – rmaddy

+0

我對代碼做了測試。我從iOS添加並刪除了中文手寫鍵盤。該代碼正在工作的方式,它假設。我只需要說出在iPhone設置中添加中文手寫的彈出消息。 – TFLOW9Z1

-1

我把它編碼到Appdelgate中,但消息不是彈出顯示消息。它確實顯示打印,但不顯示彈出消息。

var hasChinese = false 
let Message = messageAlert() 
    //Check to see if keyboard with right language is installed.. 
    let keyboards = UITextInputMode.activeInputModes 
    for keyboard in keyboards { 
     if let language = keyboard.primaryLanguage { 
      if language.hasPrefix("zh") { 
       hasChinese = true 
      } 
     } 
    } 
    //If not true program will push message out. 

    if !hasChinese { 
     print("not true show message with instructions"); 
     Message.createAlert(title: "Testing" , message: "Testing") 
    } 

這是在一個名爲messageAlert的sepperate swift文件中。

import Foundation 
import UIKit 

class messageAlert: UIViewController { 

func createAlert (title:String, message:String) 
{ 
    let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert) 
    alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: { (action) in alert.dismiss(animated: true, completion: nil); print ("Message Alert UI Was Activated") })) 
    present(alert, animated: true, completion: nil) 
} 
+0

請使用您問題上的編輯鏈接添加其他信息。後回答按鈕應該只用於問題的完整答案。 - [來自評論](/ review/low-quality-posts/17689157) – Blackwood

相關問題