我一直在尝试实现将触发UITextField的检查。以下是我对前两个文本字段的调查结果。这给了我两个错误,显示“发送者未声明”...我哪里做错了?提前感谢,属性和合成都可以!val是caLculator按钮的标签值(如0,1,2,3,4,5,6,7,8,9)
//.h file
IBOutlet UITextField *textFieldLoanAmountDisplay;
IBOutlet UITextField *textFieldInitDepositDisplay;
// .m file
const NSString *textField1Code= @"1";
const NSString *textField2Code= @"2";
-(BOOL)textField1ShouldBeginEditing:(UITextField *)textFieldLoanAmountDisplay {
if (textFieldLoanAmountDisplay == textField1Code)
{
UIButton *buttonPressed = (UIButton *)sender;
int val = buttonPressed.tag;
if ( [textFieldLoanAmountDisplay.text compare:@"0"] == 0 ) {
textFieldLoanAmountDisplay.text = [NSString stringWithFormat:@"%d", val ];
} else {
textFieldLoanAmountDisplay.text = [NSString stringWithFormat:@"%@%d", textFieldLoanAmountDisplay.text, val ];
}
}
return NO;
}
-(BOOL)textField2ShouldBeginEditing:(UITextField *)textFieldInitDepositDisplay {
if (textFieldInitDepositDisplay == textField2Code)
{
UIButton *buttonPressed = (UIButton *)sender;
int val = buttonPressed.tag;
if ( [textFieldInitDepositDisplay.text compare:@"0"] == 0 ) {
textFieldInitDepositDisplay.text = [NSString stringWithFormat:@"%d", val ];
} else {
textFieldInitDepositDisplay.text = [NSString stringWithFormat:@"%@%d", textFieldInitDepositDisplay.text, val ];
}
}
return NO;
}发布于 2011-03-16 06:24:31
您还没有真正解释您的问题是什么,但仅通过查看您的代码,您使用了不正确的委托方法名称。对于每个UITextField实例,不需要单独的textFieldShouldBeginEditing:。
在视图控制器类接口文件中,确保使用以下命令声明符合UITextFieldDelegate方法:
@interface XXXXX : XXXXXX <UITextFieldDelegate>然后,在您的实现中使用
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField如果您像上面指出的那样使用不同的标记设置textField实例,只需使用Switch语句来找出哪个textField正在调用该方法:
switch (textField.tag)
{
case tagValue1:
// Implement your logic here
break;
case tagValue2:
// Implement your logic here
break;
...
}发布于 2011-03-16 06:13:31
正确遵守UITextFieldDelegate协议。然后,两个UITextFields都将调用textFieldShouldBeginEditing。UITextfield依赖于委托模式,因此它期望某个方法由其委托实现,并且该方法必须正确命名。例如,您尝试使用的是UIButtons使用的目标操作模式。
要找出调用了哪个方法,可以使用传递给该方法的UITextfield参数。别忘了设置委托。
https://stackoverflow.com/questions/5318595
复制相似问题