HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios8 – 在reloadInputViews调用后,UITextField不再重新加载keyboardType大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在iOS 7中,我可以改变键盘类型,而它是第一个响应器(即时):
if (textField.text.length > 2) {

    textField.keyboardType = UIKeyboardTypenumbersAndPunctuation;
}
else
{
    textField.keyboardType = UIKeyboardTypeDefault;
}

[textField reloadInputViews];

// (OmitTing some efficiency stuff to keep example to bare bones)

这不再适用于Xcode 6 / iOS 8.文档主要反映了有关自定义键盘的更改.

使用辞职/成为第一反应者(仍然)工作:

[textField resignFirstResponder];

// Make keyboard change

[textField becomeFirstResponder];

但它只是感觉像一个过度的杀戮.它正在撕裂和重建一堵墙,只是为了更换一张照片.

这里有一个相关的帖子:
UITextView does not seem to implement reloadInputViews

但似乎解决方案(在注释中)显然是将其声明为UITextView,而不是UIResponder会影响运行时的行为.

在我的情况下,它是一个UITextField,我试图转换到UITextView以防万一.不去

再次提到它在iOS7 / Xcode5下运行良好.

我不知道这是Xcode 6的“beta”问题,还是iOS 8的设计变更.

解决方法

我发现同样的问题.最好检查textField是否已经是firstResponder.
[textField reloadInputViews]; // does not work on iOS8 !

if ([textField isFirstResponder]) {
    [textField resignFirstResponder];
    [textField becomeFirstResponder];
}

不是一个干净的方式,但它的作品.

大佬总结

以上是大佬教程为你收集整理的ios8 – 在reloadInputViews调用后,UITextField不再重新加载keyboardType全部内容,希望文章能够帮你解决ios8 – 在reloadInputViews调用后,UITextField不再重新加载keyboardType所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。