У меня есть пользовательский Tableview ячейку с текстовым полем и две меткиредактируемые TextField в ячейке таблицы просмотра пользовательских
TableViewCell:
@interface CartTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *proCost;
@property (weak, nonatomic) IBOutlet UITextField *txtQtyCount;
@property (weak, nonatomic) IBOutlet UILabel *lblTotalCost;
@end
ViewController.h
@interface CartViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate,UITabBarControllerDelegate>
@property (weak, nonatomic) IBOutlet UITableView *tblView;
@end
ViewController.m
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
CGPoint origin = textField.frame.origin;
CGPoint point = [textField.superview convertPoint:origin toView:self.tblView];
NSIndexPath * indexPath = [self.tblView indexPathForRowAtPoint:point];
NSLog(@"%ld",(long)cartCell.txtQtyCount.tag);
[self.tblView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
qty = cartCell.txtQtyCount.text;
quanty = [qty doubleValue];
double qua = price * quanty;
qtotal =[[NSString alloc] initWithFormat:@"%.2f",qua];
[dictionary setObject:qtotal forKey:@"qtotal"];
[dictionary setObject:qty forKey:@"qty"];
[self.tblView beginUpdates];
NSArray *indexPaths = [[NSArray alloc] initWithObjects:indexPath, nil];
[self.tblView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
[self.tblView endUpdates];
[cartCell.txtQtyCount resignFirstResponder];
return YES;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
cartCell =[self.tblView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NSDictionary *tmpDict = [myObject objectAtIndex:indexPath.row];
NSMutableString *name;
name = [NSMutableString stringWithFormat:@"%@ ",
[tmpDict objectForKey:@"name"]];
qty = [NSMutableString stringWithFormat:@"%@ ",
[tmpDict objectForKey:@"qty"]];
NSString *qtot = [NSString stringWithFormat:@"%@",[tmpDict objectForKey:@"qtotal"]];
NSMutableString *qcost;
qcost = [NSMutableString stringWithFormat:@"%@ ",
[tmpDict objectForKey:@"total"]];
cartCell.txtQtyCount.tag = indexPath.row;
cartCell.proCost.text = qcost;
cartCell.txtQtyCount.text = qty;
cartCell.lblTotalCost.text = qtot;
}
Фактически у меня есть proCost
с одним двойным значением и txtQtyCount
, где я могу обновить количество, чтобы умножить цену с количеством и хочу сохранить умноженное значение в lblTotalCost
. Я не понимаю, как получить значение (индексный путь) отредактированной строки.
Не могли бы вы разместить cellForRowAtIndexPath: метод? – ZeMoon
Вы не возвращаете ячейку в этом методе, или вы удалили часть? – ZeMoon
Да, я удалил строку, к сожалению, но я вернул ячейку в своем коде –