UIToolbar中的完成按钮不起作用

时间:2012-07-20 03:07:55

标签: objective-c ios

所以我正在创建一个UIToolbar来上UIKeyboard,完成按钮完美无缺,直到我调用一个方法来重新加载我的UITableView。然后一切仍然有效,除了完成按钮的回调函数,(即完成:)。有人知道为什么会这样吗?我正在使用以下代码使用工具栏创建自定义UITableView子类...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section != 1){
        if (indexPath.row != 2){
            static NSString *CellIdentifier = @"EditableCell";

            EditableCell *editableCell = (EditableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

            if (editableCell == nil) {

                editableCell = [[EditableCell alloc] initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:CellIdentifier];
            }

 [_myTextField setPlaceholder:@"$0.00"];
          [_myTextField setKeyboardType:UIKeyboardTypeDecimalPad];

        UIToolbar *toolbar = [[UIToolbar alloc] init];
        [toolbar setBarStyle:UIBarStyleBlackTranslucent];
        [toolbar sizeToFit];

        UIBarButtonItem *doneButton =[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(resignKeyboard)];

        doneButton.title = @"Done";

        NSArray *itemsArray = [NSArray arrayWithObjects:doneButton, nil];

        [toolbar setItems:itemsArray];

        [_myTextField setInputAccessoryView:toolbar];
    }

    [_myTextField setReturnKeyType:UIReturnKeyNext];

}
else if (indexPath.section == 1){
    [_myTextField setPlaceholder:@"Describe this food..."];
    [_myTextField setReturnKeyType:UIReturnKeyDone];
}
_myTextField.delegate = self;

return editableCell;
}



 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if([text isEqualToString:@"\n"])
        [textView resignFirstResponder];
    else{

        NSMutableString *textFieldString = [[NSMutableString alloc] initWithString:textView.text];
        [textFieldString replaceCharactersInRange:range withString:text];

        _textViewString = @"";
        _textViewString = textFieldString;

        _foodDescription = textFieldString;

        [self.tableView beginUpdates];
        [self.tableView endUpdates];
    }

    return YES;
}

0 个答案:

没有答案