2012-08-27 36 views
4

喜后,我是新来的的iOS,shouldChangeCharactersInRange方法不叫调用becomeFirstResponder

我用我的项目数的文本字段,所以我想用becomeFirstResponder为文本字段的任何一个进行编辑。它是在的Xcode 3.2.5工作正常,但它调用becomeFirstResponder后使问题的Xcode 4.2.1

的Xcode 4.2.1我无法编辑的文本字段,它显示虚拟键盘我可以点击键,但敲击的键不会输入到文本字段中。

请帮我一把。如果从厦门国际银行则利用上的UITextField,并与其他fileowner绑定 委托右键单击viewDidLoad中的方法添加以下代码

@interface yourViewController : UIViewController<UITextFieldDelegate> 

回答

13

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

yourTextField.delegate = self; 

添加的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; 
} 
+1

感谢您的答复。我已经设置了委托,但它仍然不工作,如果我删除调用** becomeFirstResponder **它工作正常。在xcode 3.2.5中,即使调用** becomeFirstResponder **,它也能正常工作。问题仅在xcode 4.2.1中 – thavasidurai