shouldChangeCharactersInRange方法在目标c中不起作用

我的方法是在下面,它是错误的工作,当我写的22222222222 TCKimlik文本字段,它必须写的AdText.text = @“AYŞE”; 但是这种方法写入AYŞE到TCKimlikText.AndText文本字段显示为空。 我该如何解决?

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if ([[TCKimlikText.text stringByReplacingCharactersInRange:range withString:string] isEqual:@"22222222222"]) { cinsiyetBtn.titleLabel.text = @"BAYAN"; AdText.text = @"AYŞE"; uyrukBtn.titleLabel.text = @"TC"; babaAdiText.text = @"KEMAL"; anneAdiText.text = @"ZELİHA"; soyadiText.text = @"AYDIN"; anneKizlikSoyadiText.text = @"DEMİRCİ"; dogumTarihiText.text = @"01/01/1963"; medeniDurumBtn.titleLabel.text = @"EVLİ"; //EsinizinAdiText.text = @"AYŞE"; dogumYeriBtn.titleLabel.text = @"BURSA"; kimlikBtn.titleLabel.text = @"Nüfus Cüzdanı"; //KimlikVerilisNedeniText.text = @"YENİLEME"; //KimlikVerilisTarihi.text = @"12/01/2010"; kimlikSeriNoText.text = @"57689"; vergiKimlikNoText.text = @"45678"; kimlikSiraNoText.text = @"5443126274"; yakinlikBtn.titleLabel.text = @"EŞİ"; kizlikSoyadiText.text = @"YILMAZ"; } return YES; } 

你testing过if语句中的代码是否被调用? 如果是这样,请检查XIB文件的属性,也许xib和代码之间的连接断开(不链接)。 否则,请尝试:

 if ([[TCKimlikText.text stringByReplacingCharactersInRange:range withString:string] isEqual:@"22222222222"]) { NSLog("Success"); // Rest of your code... } 

看看你的陈述是否正确。 希望这可以帮助!