调用becomeFirstResponder后不调用shouldChangeCharactersInRange方法

tha*_*rai 4 objective-c uitextfield becomefirstresponder ios xcode4.2

嗨,我是iOS新手,

我在我的项目中使用了几个文本字段,因此我想使用becomeFirstResponder对任何一个文本字段进行编辑.它在xcode 3.2.5中工作正常,但它在xcode 4.2.1中出现问题

xcode 4.2.1中,在调用了becomeFirstResponder后,我无法编辑文本字段,它显示的是虚拟键盘,我可以点击键,但是在文本字段中没有输入敲击的键.

请帮帮我.

Par*_*iya 14

首先在界面中添加此委托:

 @interface yourViewController : UIViewController<UITextFieldDelegate>
Run Code Online (Sandbox Code Playgroud)

如果从xib使用,则右键单击UITextField并使用fileowner绑定委托,否则在viewDidLoad的方法中添加此代码.

  yourTextField.delegate = self;
Run Code Online (Sandbox Code Playgroud)

添加UITextField的委托,它将被调用

 - (BOOL)textFieldShouldReturn:(UITextField *)textField //resign first responder for textfield 
 {
    [textField resignFirstResponder];
    return YES;
 }

 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
 {
   return YES;
 }
Run Code Online (Sandbox Code Playgroud)