我想知道是否还有其他人遇到过这个问题或者可以提供帮助?
本质上,我在我的应用程序的屏幕上使用自定义键盘。
屏幕上有 x4 个文本字段。加载时,第一响应者是第一个文本字段。这仍然在 ios6 中完美运行。当数据被添加到第一个文本字段时,问题就出现了——它应该触发 UIControlEventEditingChanged(如在 ios5 中)但它没有。在 ios5 中,这会触发对输入数据的检查,并在适当时将第一响应者更改为下一个文本字段。代码是:
[self.field addTarget:self
action:@selector(textFieldDidUpdate:)
forControlEvents:UIControlEventEditingChanged];
为了隔离问题,我使用标准键盘在文本字段上测试了上面的代码,它在 ios6 中工作,这让我认为它必须与引入 ios6 问题的自定义键盘有关 - 也许我应该是在 ios5 中做,但已为我自动管理。
值得注意的是,我仍然能够触及所有四个领域——所以这与其他人一直在问的问题不同。
我使用此代码隐藏键盘:
id keyboardImpl = [objc_getClass("UIKeyboardImpl") sharedInstance];
[keyboardImpl setAlpha:0.0f];
每个字段都会重新加载键盘。
我也有一个警告,我不知道如何解决:
id keyboardImpl = [objc_getClass("UIKeyboardImpl") sharedInstance];
隐式声明类型为 'id (const char *)' 的库函数 'objc_getClass'
和
找不到实例方法“-sharedInstance”(返回类型默认为“id”)
稍微分开一点,我听说有时这种类型的键盘会被苹果拒绝,也有兴趣听听是否有人有这方面的经验?
谢谢 :)