gpt4 book ai didi

ios - 如何使用应用内自定义键盘的按钮输入文本

转载 作者:行者123 更新时间:2023-11-30 10:44:37 24 4
gpt4 key购买 nike

我制作了一个应用内自定义键盘,它取代了系统键盘,并在我点击 UITextField 时弹出。

enter image description here

这是我的代码:

class ViewController: UIViewController {

var myCustomKeyboard: UIView!
@IBOutlet weak var textField: UITextField!

override func viewDidLoad() {
super.viewDidLoad()

let keyboardNib = UINib(nibName: "Keyboard", bundle: nil)
myCustomKeyboard = keyboardNib.instantiateWithOwner(self, options: nil)[0] as! UIView

textField.inputView = myCustomKeyboard
}

}

键盘布局是从 xib 文件加载的。

问题

如何将按钮文本放入文本字​​段?

注释:

  • 有很多关于制作自定义系统键盘(需要安装)的教程,但我只想要一个应用内键盘。本教程仅针对键盘使用了特殊的 View Controller ,但在这里我似乎只是设置键盘 View 。
  • 我已阅读Custom Views for Data Input文档。
  • This是我能找到的最接近的堆栈溢出问题,但它没有描述如何从按钮获取文本。

更新

  • This tutorial似乎表明有一个用于自定义输入 View 的 View Controller 。然而,我在 Objective-C 代码中迷失了方向。 Swift 中的流程是怎样的?
  • This answer提到了 UITextField 遵循的 UIKeyInput 协议(protocol),但是我该如何使用它呢?
  • 如果有任何内置方法也可以制作自定义应用内键盘,我真的更喜欢这样做而不是制作普通的自定义 View 。

最佳答案

我想象这样的事情:

处理按钮事件的新函数

func updateTextfield(sender: UIButton) {
textField.text = (textField.text ?? "") + (sender.titleForState(.Normal) ?? "")
}

初始化自定义键盘后,注册按钮:

myCustomKeyboard.subviews
.filter { $0 as? UIButton != nil } // Keep the buttons only
.forEach { ($0 as! UIButton).addTarget(self, action: "updateTextfield", forControlEvents: .TouchUpInside)}

关于ios - 如何使用应用内自定义键盘的按钮输入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56014827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com