当前位置: 首页 > 面试题库 >

如何仅在Swift中为我的应用制作自定义键盘?

澹台俊晖
2023-03-14
问题内容

如何仅在Swift中为我的应用制作自定义键盘?我不希望人们去设置然后添加键盘。我希望他们能够在我的应用程序上立即使用它。无需额外的工作。

如何在Swift中实现呢?

许多链接只谈论在设置中添加新键盘。我不要

我对UI还是很陌生,请给我详细说明。


问题答案:

用于文本输入的UITextField和UITextView类都具有inputView属性。默认情况下,此属性为nil,但如果为它提供一个视图,则在编辑该文本字段时将弹出该视图,而不是普通键盘。

要实现此目的,请创建UIView的子类,以设置您的自定义键盘布局。然后,当您在应用中使用文本字段或文本视图时,必须 分别为每个字段 设置它,如下所示:

let myCustomKeyboard = MyCustomKeyboardView()
myTextField.inputView = myCustomKeyboard

就是这样,现在您的文本字段使用了您提供的自定义键盘。

由于您要在应用程序中全局使用键盘,并且必须为每个文本字段或文本视图分别设置键盘,因此该解决方案将导致大量代码重复。由于代码重复被普遍认为是一件坏事,因此,在您的情况下,更好的实现是将UITextField或UITextView子类化(显然取决于所使用的那个),并在构造函数中设置键盘:

class MyCustomKeyboardTextField: UITextField {

    override init() {
        super.init()
        setupCustomKeyboard()
    }

    required init(coder: aCoder) {
        super.init(aCoder)
    }

    override func awakeFromNib() {
        setupCustomKeyboard()
    }

    func setupCustomKeyboard() {
        // Set the custom keyboard
        self.inputView = MyCustomKeyboardView()
    }
}

现在,无论您在哪里使用此子类,都将使用自定义键盘视图。



 类似资料:
  • 问题内容: Swift 4通过该协议引入了对本机JSON编码和解码的支持。如何为此使用自定义键? 例如,说我有一个结构 我可以将其编码为JSON。 我可以将此编码回一个对象。 但是如果我有一个json对象 我怎么会告诉解码器上是映射到?我相信您使用的是新协议,但是我不知道该如何使用。 问题答案: 手动自定义编码键 在您的示例中,由于所有属性也都符合,因此您将获得自动生成的符合。这种一致性会自动创建

  • 我正在按照以下标准签署XML:签名算法:http://www.w3.org/2001/04/xmldsig-more#rsa-sha512摘要算法:http://www.w3.org/2001/04/xmlenc#sha512规范化算法:http://www.w3.org/2001/10/xml-exc-c14n# 但我未能在WCF中找到对SHA512的支持。有办法解决吗? 下面是我的代码:

  • 问题内容: 在上面的代码中,我有2个问题:1)。它具有编译错误:’UINavigationController!’ 没有名为“ pushViewController”的成员 但是在该类中,确实有一个pushViewController方法。 2)。我必须添加注释:@objc(SEPushNoAnimationSegue),否则,在情节提要中,它只能识别随机生成的名称,例如_tcxxxxSEPush

  • 网上搜索到cpp代码制作自定义的定时器,我制作了测试用的项目,仓库是:https://gitee.com/chanchaw/custom-timer-cc.git 测试下来发现在 main 函数中启动定时任务后,下面的 cout 没有输出到控制台中,是不是意味着定时任务没有创建子线程执行?如果是的话要如何修改代码?

  • 问题内容: 在Objective-C中,自定义通知只是一个普通的NSString,但是在Swift 3的WWDC版本中并不明显。 问题答案: 您也可以为此使用协议 然后将您的通知名称定义为所需的任何位置。例如: 并像这样使用 这样,通知名称将与基金会分离。而且您只需要修改协议,以防更改实现。

  • 我目前正在使用itext-pdf生成PDF。除此之外,我还使用JFreeChart在上面创建图表。我已经创建了一个爆炸效果的甜甜圈图表,它看起来像这样。 然而,我想创建一个甜甜圈图,看起来更像这样。 我想让某些部分脱颖而出,但不要完全从甜甜圈图表中分离出来。我非常感谢关于如何实现这一目标的投入。