gpt4 book ai didi

iphone - 带有自定义单元格的 UITableView 有两个按钮和两个标签

转载 作者:行者123 更新时间:2023-11-29 13:11:30 24 4
gpt4 key购买 nike

我是 iPhone 应用程序开发的新手。两周以来我一直在遭受这个问题的困扰。

我在 xib 的 uiviewcontroller 类中创建了带有搜索栏的 uitableview。这里我显示带有自定义单元格的 TableView 。在自定义单元格中,我在 xib 中创建了 uistepper、三个标签和一个图像。我在这里显示图像和标签以显示字典中的个人资料图像和文本。自定义单元格中 + 和 - 功能的步进器。现在我想在标签中显示步进器 Action 。当我单击 + 按钮时,标签计数将为 1 当我单击 - 按钮时,同一单元格中的计数将为 0。我想显示同一单元格中的按钮数。

谁能帮帮我...

感谢所有...

viewcontroller.m

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ListOfProductsCell";

ListOfProductsCell *cell = (ListOfProductsCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];


if (cell == nil) {

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ListOfProductsCell" owner:self options:nil];
cell = [nib objectAtIndex:0];

productItemDit=[productListArry objectAtIndex:indexPath.row];
NSString *offerStr= [NSString stringWithFormat:@"%.2f",[[productItemDit objectForKey:@"offer"] floatValue]];
NSString *fullCostStr=[[currencyCodeStr stringByAppendingString:@" "] stringByAppendingString:offerStr];
NSLog(@"%@",fullCostStr);
cell.itemCostLbl.text=fullCostStr;

cell.itemStepper.tag=166;
cell.itemAddedLbl.tag=122;

cell.itemImg.image = [UIImage imageNamed:@"profp.jpg"];

}


if (tableView == self.searchDisplayProduct.searchResultsTableView) {
searchProductItemDit=[searchProductListArry objectAtIndex:indexPath.row];
NSLog(@"searchdit:%@",searchProductItemDit);
cell.itemNameLbl.text= [searchProductItemDit objectForKey:@"name"];
self.searchDisplayProduct.searchResultsTableView.separatorColor=[UIColor colorWithRed:200.0 green:0.0 blue:0.0 alpha:1.0];
} else {
productItemDit=[productListArry objectAtIndex:indexPath.row];
NSLog(@"dit:%@",productItemDit);
cell.itemNameLbl.text=[productItemDit objectForKey:@"name"];

}
cell.itemAddedLbl =(UILabel*)[cell viewWithTag:122];
cell.itemAddedLbl.text = [[NSString alloc] initWithFormat:@"%d",itemCount];
return cell;

ListOfProducts.m

//this method in custom class to get stepper action     
-(IBAction)itemValueChanged:(UIStepper *)sender
{
ListOfProductsCell *clickedCell = (ListOfProductsCell *)[[sender superview] superview];
double stepperValue = itemStepper.value;
itemAddedLbl=(UILabel*)[clickedCell viewWithTag:122];
itemAddedLbl.text=[[NSString alloc] initWithFormat:@"%.f", stepperValue];

}

当我在上面使用时它的工作完美。但是当滚动表格 View 时我从步进器添加的值消失了

最佳答案

使用它来添加自定义按钮或标签并为其分配标签即indexpath.row

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}


// Add Custom Button
cellLikeBtn=[[UIButton alloc]init];
cellLikeBtn.frame=CGRectMake(262, 5, 48,62);

cellLikeBtn.backgroundColor=[UIColor whitecolor];
cellLikeBtn.tag=indexPath.row;
[cellLikeBtn addTarget:self action:@selector(Checktag:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:cellLikeBtn];
[cellLikeBtn release];

}

现在您将获得自定义标签或按钮的标签。您可以使用它进行更改。

 -(IBAction)Checktag:(UIButton *)sender
{
NSLog(@"%d",sender.tag);
UIButton* button = (UIButton *) sender;
UIImage *image = [UIImage imageNamed:@"abc.png"];
[button setImage:image forState:UIControlStateNormal];

}

用你案例中的标签替换按钮。

我希望这能解决问题。

您可以按如下方式使用它:

像那样在 cellforRowAtIndexPath 中分配你的方法

[cell.contentView addTarget:self action:@selector(Checktag:event:)forControlEvents:UIControlEventTouchUpInside];

- (void)Checktag:(id)sender event:(id)event
{
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint: currentTouchPosition];

NsLog("value of indePath.section %d ,indexPath.row %d",indexPath.section,indexPath.row);

}

关于iphone - 带有自定义单元格的 UITableView 有两个按钮和两个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com