我正在开发一个购物应用,我正在实施一个购物车。在我的应用程序中,我需要在单击加号按钮时增加产品数量,并在单击减号按钮时减少产品数量。这里我的问题是,当我单击加号按钮时,所有文本字段值都在tableviewcell中更改。帮助我,下面是 加按钮动作方法
-(IBAction)plusBtn:(UIButton*)plus
{
[self.tbleView beginUpdates];
UITableViewCell *clickedCell = (UITableViewCell *)[[plus superview] superview];
NSIndexPath *clickedButtonIndexPath = [self.tbleView indexPathForCell:clickedCell];
plus.tag = clickedButtonIndexPath.row;
quantity.tag = clickedButtonIndexPath.row;
_curr =_curr+1;
quantity.text = [NSString stringWithFormat:@"%d",_curr];
[self.tbleView endUpdates];
[self.tbleView reloadData];
}
像这样
越来越..
答案 0 :(得分:2)
可以检查此功能吗?它对你有用。我希望如此。
- (void)viewDidLoad
{
[super viewDidLoad];
quantity =[NSMutableArray new];
occu_list = [[NSArray alloc] initWithObjects:@"Occupation", @"two", @"three", @"four", @"five", @"six", @"seven", @"eight", nil];
for(int i=0;i<[occu_list count];i++)
{
[quantity addObject:@"0"];
}
click_textView=[[UIView alloc]init];
click_textView.frame=self.view.frame;
[self.view addSubview:click_textView];
[self tableviewone];
}
-(void)tableviewone
{
tbl_view = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
tbl_view.delegate = self;
tbl_view.dataSource = self;
tbl_view.backgroundColor = [UIColor whiteColor];
tbl_view.layer.borderColor=[[UIColor orangeColor]CGColor];
tbl_view.layer.borderWidth=2.0f;
tbl_view.layer.cornerRadius=5.0f;
tbl_view.layer.masksToBounds=YES;
[click_textView addSubview:tbl_view];
}
-(IBAction)check_btn_action:(id)sender
{
UIButton *btntag=(UIButton*)sender;
NSLog(@"%li",(long)btntag.tag);
NSLog(@"%@",[quantity objectAtIndex:btntag.tag]);
int ad=[[quantity objectAtIndex:btntag.tag]integerValue];
ad=ad+1;
[quantity removeObjectAtIndex:btntag.tag];
[quantity insertObject:[NSString stringWithFormat:@"%i",ad] atIndex:btntag.tag];
[tbl_view reloadData];
}
答案 1 :(得分:1)
为你的按钮编写动作方法,然后在里面只使用这一行代码将你的值设置为文本字段: -
self.yourTxtFld.text=@"yourString"
答案 2 :(得分:1)
不要在ViewController中编写Button动作,
将它写在CustomCell类中。
示例:
CustomCell.m中的
- (IBAction)plusButtonDidClicked:(UIButton *)sender {
int i = [self.textField.text intValue];
i++;
self.textField.text = [NSString stringWithFormat:@"%d", i];
}
然后回到ViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];
return cell;
}
它会很好用。
答案 3 :(得分:0)
-(IBAction)plusBtn:(UIButton*)plus
{
UITableViewCell *clickedCell = (UITableViewCell *)[[plus superview] superview];
_curr=_curr+1;
UITextField *qty = (UITextField *) [clickedCell viewWithTag:90];
qty.text=[NSString stringWithFormat:@"%d",_curr];
}