
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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)