gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 05:50:35 30 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是我能找到的最接近 Stack Overflow 的问题,但它没有描述如何从按钮中获取文本。

更新

  • 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/33497693/

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