Ios 自定义键盘覆盖标准inputView

Ios 自定义键盘覆盖标准inputView,ios,keyboard,customization,Ios,Keyboard,Customization,我已经为标准iOS键盘创建了一个自定义inputView,它在iOS 7和iOS 8中都可以正常工作。 但当使用第三方自定义键盘时,它覆盖了我创建的inputView。它显示自定义inputView一秒钟,并用自定义键盘视图覆盖它。我试过几种不同的定制键盘,它们都有相同的问题 可以在任何类型的键盘上使用inputView吗?如果可能,怎么做 谢谢你的建议 我遇到了同样的问题,我发现使用由视图控制器管理的视图会导致此问题。 我做了一个简单的演示来演示它: 如下图所示,toggleInputView

我已经为标准iOS键盘创建了一个自定义inputView,它在iOS 7和iOS 8中都可以正常工作。 但当使用第三方自定义键盘时,它覆盖了我创建的inputView。它显示自定义inputView一秒钟,并用自定义键盘视图覆盖它。我试过几种不同的定制键盘,它们都有相同的问题

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


谢谢你的建议

我遇到了同样的问题,我发现使用由视图控制器管理的视图会导致此问题。 我做了一个简单的演示来演示它:

如下图所示,
toggleInputView
将创建一个同时适用于系统键盘和第三方键盘的输入视图,而
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
构建一个输入视图来解决您的问题。

我也遇到过同样的问题,我希望有人能给出答案。问题是我需要使用一个控制器,因为我有几个基于控制器的自定义输入视图,以便在应用程序中添加不同的功能。总而言之,这种行为很奇怪,我会设法找时间向苹果公司提交一个bug。您的代码将非常有用,谢谢!谢谢@ainopara。它看起来像是一个iOS错误。我也需要使用ViewController,遇到了同样的问题,但将我的ViewController添加为UIView的子视图就成功了。非常感谢。