目标:使用QuickType(Predictive)为俄语lang创建一个自定义键盘,它应该看起来像本机(我不能发布图像,因为声誉很小,但我想这很明显可以理解)有一些变化:自己的算法到显示单词;用户可以从3个以上的选项中进行选择
我发现它不能通过标准功能完成(例如“将某些属性设置为快速类型为YES”),但可能存在另一种方法吗?例如创建自定义视图或smth,所以问题是:
我可以通过自定义视图(高度大于“215 +/- px”)这样做还是有其他方式? Apple会接受吗?
UPD 自定义看起来与原生一样重要。
答案 0 :(得分:0)
您可以将自定义单词完成视图添加为键盘的子视图(与为按键添加按钮的方式相同)。当然,您需要增加键盘的高度,以便为完成视图提供额外的高度。
您可以使用“自动布局”调整自定义键盘主视图的高度。默认情况下,根据屏幕大小和设备方向,自定义键盘的大小可与系统键盘匹配。系统始终将自定义键盘的宽度设置为等于当前屏幕宽度。要调整自定义键盘的高度,请更改其主视图的高度约束。
您还可以在该页面上找到代码示例。我认为Apple没有理由拒绝基于你所描述的内容。
答案 1 :(得分:0)
可以改变高度。看看这个问题iOS 8 Custom Keyboard: Changing the Height
您可以提供自定义视图来显示预测。 '触宝'在App Store中可能对您有所帮助。 ' Touchpal'英文键盘具有一些QuickType功能,就像系统键盘一样。
答案 2 :(得分:0)
您的自定义键盘外观和预测机制(类似QuickType)都是您的责任。没有办法只复制或启用某些东西。你应该从头开始编程另一个绝对相同的键盘和另一个类似QuickType的算法。 iOS8只为您提供了可以更改高度的空视图。
答案 3 :(得分:0)
查看UILexicon
对象,尤其是UITextChecker
:
UITextChecker *checker = [[UITextChecker alloc] init];
NSRange checkRange = NSMakeRange(0, text.length);
NSRange misspelledRange = [checker rangeOfMisspelledWordInString:text
range:checkRange
startingAt:checkRange.location
wrap:NO
language:@"en_US"];
NSArray *arrayCorrected = [checker guessesForWordRange:misspelledRange
inString:text
language:@"en_US"];
return [arrayCorrected objectAtIndex:0];
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextChecker_Class/index.html