【问题标题】:Swift 4 : custom autocorrect dictionarySwift 4:自定义自动更正字典
【发布时间】:2018-11-29 13:40:45
【问题描述】:

我目前正在使用 Swift 4 开发 iOS 应用程序。我想编写一个自定义的自动更正引擎,在其中使用我自己的话(通过 API 调用收集)。例如,在下一张图片中,我希望能够选择键盘上方栏上建议的所有单词。例如,如果我的自定义字典是 ["chicken", "chili", "chicago", "cup"],我希望在建议栏上显示单词 "chicken", "chili" 和 "chicago" 如果我输入“chi”。

我在不同的网站上搜索,我发现的唯一解决方案是开发自定义键盘,然后使用 UILexicon。我很确定这个解决方案会起作用,但我觉得这完全是浪费时间,因为我只对自定义自动更正系统感兴趣,而且我不需要更改默认的键盘外观和行为。
因此,我想知道是否有更简单的解决方案来更改默认自动更正系统使用的字典,或者是否有一种方法可以创建直接从默认键盘继承的自定义键盘。

提前感谢您的回答

【问题讨论】:

    标签: ios swift keyboard


    【解决方案1】:

    您可以在字典中查找以目前输入的单词开头的单词:

    let array =  ["chicken", "chili", "chicago", "cup"]
    
    let word = "chi"
    
    let filtered = array.filter { $0.hasPrefix(word) }
    
    print(filtered)  //["chicken", "chili", "chicago"]
    

    AFAIK 你不能改变 iOS 字典的行为,也不能提供你自己的建议。您可以创建一个看起来像建议栏的浮动视图(某些应用会这样做),并为应用中的文本字段/视图设置 autocorrectionType.no

    【讨论】:

    • 好的,我想我可以根据前缀过滤单词。我的问题是如何执行这样的操作并根据用户在搜索栏中输入的内容在建议栏中显示结果。
    • @AntoineHoorelbeke 您是否创建了一个视图来显示建议?该问题没有提及您迄今为止尝试过的任何代码。
    • 不,我的问题是是否可以覆盖 iOS 键盘使用的默认字典并使用我自己的单词列表。如果无法轻松做到这一点,我将在键盘上方创建自己的视图。
    • 好的,谢谢,那我就做。抱歉,如果我的问题不清楚
    猜你喜欢
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 2016-09-14
    • 2015-08-09
    • 2012-03-23
    相关资源
    最近更新 更多