我已经尝试了下面的代码片段,但没有运气:
#define ACCEPtable_CHARECTERS @" ABCDEFGHIJKLMnopQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_."- (BOol)textFIEld:(UITextFIEld *)textFIEld shouldChangeCharactersInRange:(NSRange)range replacementString:(Nsstring *)string{ NSCharacterSet *acceptedinput = [NSCharacterSet characterSetWithCharactersInString:ACCEPtable_CHARECTERS]; if (![[string componentsSeparatedByCharactersInSet:acceptedinput] count] > 1){ NSLog(@"not allowed"); return NO; } else{ return YES; }}解决方法 尝试下面给出的代码块,它对我来说很好.
SWIFT 3.0
let ACCEPtable_CHaraCTERS = "ABCDEFGHIJKLMnopQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"func textFIEld(_ textFIEld: UITextFIEld,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool { let cs = NSCharacterSet(charactersIn: ACCEPtable_CHaraCTERS).inverted let filtered = string.components(separatedBy: cs).joined(separator: "") return (string == filtered)}
目标C.
#define ACCEPtable_CHaraCTERS @" ABCDEFGHIJKLMnopQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_."- (BOol)textFIEld:(UITextFIEld *)textFIEld shouldChangeCharactersInRange:(NSRange)range replacementString:(Nsstring *)string { NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ACCEPtable_CHaraCTERS] invertedSet]; Nsstring *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; return [string isEqualToString:filtered];}
希望它也适合你.
总结以上是内存溢出为你收集整理的ios – 如何限制UITextField中的特殊字符,除了点和下划线?全部内容,希望文章能够帮你解决ios – 如何限制UITextField中的特殊字符,除了点和下划线?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)