博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UITextField 监听内容变更解决方案
阅读量:6913 次
发布时间:2019-06-27

本文共 1532 字,大约阅读时间需要 5 分钟。

问题:
1、当输入中文时候代理方法是无法监听到选择文字的情况。
     解决办法:
     思路:"
@interface
UITextField :
UIControl "
       ->
    [
self
.
inputTextField
addTarget
:
self
action
:
@selector
(textFieldChange:)
forControlEvents
:
UIControlEventEditingChanged
];
     使用textFieldChange:来替代代理的
textField:
shouldChangeCharactersInRange:
replacementString:
2、
当输入英文时候,会出现备选英文单词,点击return时候输入框依旧会变更,英文联想单词收键盘时默认会更改其内容,但是均无法得到回调。
     解决办法:
     思路:代理中有
textFieldShouldReturn:方法
     ->     
textFieldShouldReturn: 方法中再次手动调用textFieldChange:
     ->     
textFieldShouldEndEditing:
方法中再次手动调用textFieldChange:
3、默认边框太黑,不符合应用整体色调,遂更改之。问题来了,layer画的边框紧贴字体,并没有直接调节的方法。
     解决办法:
     思路:最简洁明了的方法:在前面追加两个空格!
     ->     协调代理方法进行补充对空格进行控制。
     代码段1 如下:

我是代码段1:
#pragma make - <UITextFieldDelegate>
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
   
   
NSMutableString
*currentText = [textField.
text
mutableCopy
];
    [currentText
replaceCharactersInRange
:range
withString
:string];
   
   
NSLog
(
@"%@"
, currentText);
   
if
([currentText
isEqualToString
:
@" "
]) {
       
return
NO
;
    }
    [
self
tableViewResetResultDataArray
:
@[]
text
:currentText];
    [
self
.
resultTableView
setContentOffset
:
CGPointZero
animated
:
YES
];
   
return
YES
;
}
- (
BOOL
)textFieldShouldBeginEditing:(
UITextField
*)textField {
    textField.
text
= textField.
text
.
length
>
0
?textField.
text
:
@"  "
;
   
return
YES
;
}
- (
BOOL
)textFieldShouldEndEditing:(
UITextField
*)textField {
   
if
([textField.
text
isEqualToString
:
@"  "
]) {
        textField.
text
=
nil
;
    }
   
return
YES
;
}

 

转载于:https://www.cnblogs.com/madordie/p/4629861.html

你可能感兴趣的文章
Android开发技术周报183学习记录
查看>>
移位运算符
查看>>
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
查看>>
lamp环境安装
查看>>
springboot shiro配置
查看>>
Function
查看>>
Tomcat意外宕机分析
查看>>
LeetCode——58 Java之最后一个单词的长度
查看>>
ZetCode PyQt4 tutorial basic painting
查看>>
WPF RichTextBox的Document属性的序列化与反序列化
查看>>
显示照片方法之一
查看>>
InfoPath读取List到重复表
查看>>
微信公众平台二 文本编辑器与表单工具
查看>>
常用的php函数库
查看>>
迭代器 生成器
查看>>
初始Winsock编程
查看>>
jQuery实现表格拖动排序
查看>>
011_URL和Ajax辅助器方法
查看>>
六种排序算法C语言版(上)
查看>>
Jenkins学习系列——节点的配置
查看>>