gpt4 book ai didi

ios - 自定义键盘涵盖标准输入 View

转载 作者:行者123 更新时间:2023-12-01 18:54:08 32 4
gpt4 key购买 nike

我为标准 iOS 键盘创建了一个自定义 inputView,它在 iOS 7 和 8 中都可以正常工作。
但是当使用 3rd-party 自定义键盘时,它覆盖了我创建的 inputView。它显示了自定义 inputView 一秒钟,并用自定义键盘 View 覆盖它。我尝试了几种不同的自定义键盘,它们都有同样的问题。

是否可以在任何类型的键盘上使用 inputView?如果可能,该怎么做?

谢谢指教!

最佳答案

我遇到了同样的问题,我发现使用由 View Controller 管理的 View 会导致这个问题。
我做了一个简单的演示来演示它:

如下代码所示,toggleInputView将创建一个适用于系统键盘和第三方键盘的输入 View ,而 toggleInputViewController仅适用于系统键盘。

import UIKit


class CustomInputViewController: UIViewController {
override func viewDidLoad() {
self.view.frame = CGRect(x: 0, y: 0, width: 300, height: 200)
}
}

class ViewController: UIViewController {
var customInputViewController: CustomInputViewController?
@IBOutlet weak var textView: UITextView!

@IBAction func toggleInputView(sender: AnyObject) {
if textView.inputView == nil {
textView.inputView = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 200))
} else {
textView.inputView = nil

}
self.textView.reloadInputViews()
}

@IBAction func toggleInputViewController(sender: AnyObject) {
if textView.inputView == nil {
if self.customInputViewController == nil {
self.customInputViewController = CustomInputViewController()
}
self.textView.inputView = self.customInputViewController!.view
} else {
self.textView.inputView = nil
}
self.textView.reloadInputViews()
}

}

因此,您可以通过子类 UIView 构建输入 View 。解决您的问题。

关于ios - 自定义键盘涵盖标准输入 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28854831/

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