首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式更改输入源语言OSx

以编程方式更改输入源语言OSx
EN

Stack Overflow用户
提问于 2011-05-20 16:12:32
回答 1查看 5.8K关注 0票数 1

通过代码更改textfield输入语言源代码有问题!

我想要的是键盘语言更改为特定语言,当i输入a textfield时。

我已经在这里搜索过了,刚刚找到了一些关于Iphone的小指南,但我正在开发OSx App

再次感谢你们帮助我!

编辑:

好吧!新方法:如果我将系统首选项更改为适当的语言,那么大多数问题都解决了!日期格式化程序变为真,如果我使用此代码段,我可以获得正确的语言名称(在我刚刚获得en之前):

代码语言:javascript
复制
NSLocale * locale = [NSLocale currentLocale];        
NSString * localLanguage = [locale objectForKey:NSLocaleLanguageCode] ;
NSLog (@"Language : %@", localLanguage);    

但是,我想在不改变整个系统首选项的情况下更改键盘输入语言。实际上,当我输入一个特殊的textfield!(清楚了吗?)时,我想要将文本输入服务语言更改为其他安装的语言(我有2)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-23 20:58:38

我又回答了我自己的问题!

为谁可能访问这一问题:

要到达用户的键盘语言输入源,您必须遵循以下说明:

  1. TIS ( Text )是与碳框架相关的一种文本输入服务。因此,首先您必须将 have .h导入到实现文件中:

#import <Carbon/Carbon.h>

  • Add碳框架到您的框架资源。为此,您必须导航到Mac OSx Application ->链接框架和库->添加碳框架工作。要更改键盘输入源,可以使用controlTextDidBeginEditing委托来检测用户的textfield selection.Then,您可以从安装的语言源中选择合适的语言。例如,我安装了两种语言,enfa,所以我在语言栏中有两个键盘布局。然后,您可以通过选择它的索引来选择语言。

  • 要找到您想要的语言索引,可以使用以下方法:

NSArray *langs=[NSLocale preferredLanguages];

indexes.

  • Now,所能达到的语言所包含的langs是使用以下代码以编程方式更改文本输入源的时候了:

NSArray*langsArray=(NSArray*)TISCreateInputSourceList(NULL,FALSE); //make a list of installed languages

TISInputSourceRef faSource=(TISInputSourceRef)[langsArray objectAtIndex:1]; //my second language is farsi (persian)

TISSelectInputSource(faSource); // now second language selected for keyboard input resource

希望它能帮到你。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6074757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档