placeholder 解决UITextField中placeholder和text文本同时显示的问题

时间:2022-12-17 09:47:20

TextField都使用了placeholder属性,但在代码中又设置了text属性,因此ViewController会同时显示placeholder文本和text文本。 
这个问题让我彻底崩溃。按道理说当text中的文本长度为0时placeholder文本显示,text文本长度不为0时placeholder应该隐藏才对? 
而且正常情况下我也没有遇到过这个问题。后来我新建项目,进行多次尝试都不能复现这个问题。 
虽然问题导致的原因至今没有找到。但google工作成果也不是一点没有。*上有人提到了一个问题,也许跟本文不无关联:

“iOS 6 SDK之前(例如5.1 SDK),不管是不是用代码改变了Text Field的text属性,都会导致UITextFieldTextDidChangeNotification 
通知产生。而到了iOS 6 SDK,如果是用代码改变了Text的值,UITextFieldTextDidChangeNotification通知不会产生。”

我从此受到了启发。既然如此,那么每当我修改Text属性之后(编码方式),手动Post一个UITextFieldTextDidChangeNotification 
通知会怎样呢?例如:

tfPhone.text = “1255” 
NSNotificationCenter.defaultCenter().postNotificationName(UITextFieldTextDidChangeNotification, object: self.tfPhone)

传送门

http://blog.csdn.net/kmyhy/article/details/49585695