我不确定我能在这里提供什么代码示例.如果重要的话,我正在使用故事板.
现在我必须依赖从主窗体的“提交”按钮上的所有编辑控件中获取数据.但理想情况下,我更喜欢在textFIEldDIDEndEditing处理程序中收集数据.
有没有更好的解决方法?
我在iOS 6上.
更新:基本上这是我在表单上的内容
> UITextFIEld和Uibutton在表单上.
>通过在UITapGestureRecognizer的处理程序中调用resignFirstResponder来调用键盘
重现问题的步骤:
>单击编辑控件.输入一些文字.
>点击文本控件外部.
>调用textFIEldDIDEndEditing. Property .text具有我输入的价值.都好.
>再次单击编辑控件.
>单击清除按钮.
>再次调用textFIEldDIDEndEditing.但是property .text仍然有价值我刚刚删除!
>现在,当您看到UITextFIEld中的光标闪烁时,点击表单上的button.
>键盘被textFIEldDIDEndEditing从未被调用.
我明天将在GitHub上传示例项目.
解决方法 我遇到了完全相同的问题.在我的情况下,至少,这是由于在自我视图中添加了UITapGestureRecognizer(允许在UITextFIEld外部轻击时解除键盘)并在手势识别器上设置cancelstouchesInVIEw = NO.我已经设置了该属性,以便在视图中的其他地方使用TTTAttributesLabel进行超链接.我的解决方法是观察键盘显示和隐藏通知,并相应地切换该属性:
[[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(keyboardDIDShowNotification:) name:UIKeyboardDIDShowNotification object:nil];[[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(keyboardDIDHIDeNotification:) name:UIKeyboardDIDHIDeNotification object:nil];
(注册通知)
- (voID)keyboardDIDShowNotification:(NSNotification*)notification{ tapGestureRecognizer.cancelstouchesInVIEw = YES;}- (voID)keyboardDIDHIDeNotification:(NSNotification *)notification{ tapGestureRecognizer.cancelstouchesInVIEw = NO;}
(处理通知)
行为方面唯一的问题是,当显示键盘时,超链接仍然不起作用:触摸它只会关闭键盘,而不是将触摸转发给链接处理程序.但我可以忍受这一点.键盘解除后,链接正常.
总结以上是内存溢出为你收集整理的ios – UITextField在清除时调用textFieldDidEndEditing但是`text`属性有数据全部内容,希望文章能够帮你解决ios – UITextField在清除时调用textFieldDidEndEditing但是`text`属性有数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)