内容简介:http://stackoverflow.com/questions/25621496/how-shouldchangecharactersinrange-works-in-swift
我正在使用shouldChangeCharactersInRange作为使用即时类型搜索的一种方式.
但是我有一个问题,应该在文本字段实际更新之前调用shouldChangeCharactersInRange:
在目标C中,我使用下面的方法解决了这个问题:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string]; return YES; }
不过,我试过在Swift写这篇文章:
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { let txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string) self.callMyMethod(txtAfterUpdate) return true }
在获取值之前,该方法仍然被调用?
stringByReplacingCharactersInRange返回一个新的字符串,所以如何:
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { var txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString txtAfterUpdate = txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string) self.callMyMethod(txtAfterUpdate) return true }
http://stackoverflow.com/questions/25621496/how-shouldchangecharactersinrange-works-in-swift
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 袜子商店应用:一个云原生参照应用
- Android 应用中跳转到应用市场评分
- 授之以渔-运维平台应用模块一(应用树篇)
- OAM(开放应用模型)——定义云原生应用标准的野望
- ChromeOS 终端应用程序暗示其即将支持 Linux 应用
- Android应用之间数据的交互(一)获取系统应用的数据
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。