[英]Why is my class not being called?
每当我退出文本字段时,都应该显示一个UIActionsheet并保存一些信息。 当我退出文本字段时,程序退出,控制台显示其无效类称为。 为什么此代码不起作用?
- (IBAction)classFieldDoneEditing:(id)sender
- (IBAction)classFieldDoneEditing:(id)sender
withActionSheet:(UIActionSheet *)typeSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
self.indicatedClass = classField.text;
NSString *greeting = [[NSString alloc]
initWithFormat:@"%@", indicatedClass];
labelClassTitle.text = greeting;
labelClassTitle.hidden = NO;
[greeting release];
[sender resignFirstResponder];
typeSheet = [[UIActionSheet alloc]
initWithTitle:@"Class types"delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:@"Core Class", @"Elective", nil];
[typeSheet showInView:self.view];
[typeSheet release];
if (buttonIndex == 0) {
self.indicatedClass = classField.text;
NSString *indicatedString = indicatedClass;
NSString *greeting = [[NSString alloc]
initWithFormat:@"%@ meets 6 times per rotation", indicatedString];
labelClassTitle.text = greeting;
labelClassTitle.hidden = NO;
[greeting release];
[indicatedClass release];
}
else if (buttonIndex == 1) {
self.indicatedClass = classField.text;
NSString *indicatedString = indicatedClass;
NSString *greeting = [[NSString alloc]
initWithFormat:@"%@ meets 3 times per rotation", indicatedString];
labelClassTitle.text = greeting;
labelClassTitle.hidden = NO;
[greeting release];
[indicatedClass release];
}
}
动作看起来不错。 确保已在Interface Builder中链接了editDidEnd操作。
我建议您首先在H文件中实现UITextFieldDelegate协议
我也将使用以下代码-确保您的textField已连接到您希望完成的操作(使用“界面”构建器)
#pragma mark -
#pragma mark Text Field Delegate
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
if ([textField canResignFirstResponder]) {
[textField resignFirstResponder];
}
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
// add your method here
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.