2017-10-20 33 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

相关问题