繁体   English   中英

为什么不给我班上课?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM