gpt4 book ai didi

iphone - 我的表格 View 发生了奇怪的事情

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

我有一个表格 View 。我最初使用单元格的 textLabel 来处理这个,但是那没有用,所以我以编程方式向每个单元格添加了一个 UILabel,并且我有两个按钮,一个添加按钮和一个减去按钮,按下时基本上向上或向下计数。 (上升或下降 1)两个按钮的方法是:

 - (IBAction)addLabelText:(id)sender{    
cellLabel.text = [NSString stringWithFormat:@"%d",[cellLabel.text intValue] +1];

}

- (IBAction)subtractLabelText:(id)sender
{
if ( [[cellLabel text] intValue] == 0){
cellLabel.text = [NSString stringWithFormat:@"%d",[cellLabel.text intValue] +0];
}
else{
cellLabel.text = [NSString stringWithFormat:@"%d",[cellLabel.text intValue] -1];
}
}

当我按下按钮并添加多个单元格时,按钮会干扰彼此的标签。所以我将这行代码添加到上述每个方法中。 :

    cellLabel = (UILabel*)[sender superview];    

希望它能解决问题。但它实际上又添加了我相信单元格 textLabel。这是我按下其中一个添加了新行的按钮之前和之后的样子的照片。

enter image description here

之后:

enter image description here

任何有关修复按钮干扰 UILabel 的其他单元格的帮助,请帮助!! :D 谢谢

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

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
newBtn = [[UIButton alloc]init];
newBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[newBtn setFrame:CGRectMake(280,10,25,55)];
[newBtn addTarget:self action:@selector(subtractLabelText:) forControlEvents:UIControlEventTouchUpInside];
[newBtn setTitle:@"-" forState:UIControlStateNormal];
[newBtn setEnabled:YES];
[cell addSubview:newBtn];

subBtn = [[UIButton alloc]init];
subBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[subBtn setFrame:CGRectMake(250,10,25,55)];
[subBtn addTarget:self action:@selector(addLabelText:) forControlEvents:UIControlEventTouchUpInside];
[subBtn setTitle:@"+" forState:UIControlStateNormal];
[subBtn setEnabled:YES];
[cell addSubview:subBtn];

cellLabel = [[UILabel alloc]init];
[cellLabel setFrame:CGRectMake(85, 22, 27, 27)];
[cellLabel setText:@"1"];
[cell addSubview:cellLabel];**
}
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
cell.imageView.image = [imageArray objectAtIndex:indexPath.row];
// cell.textLabel.text = [cells objectAtIndex:indexPath.row];
**if ([cell.imageView.image isEqual:[UIImage imageNamed:@"paddle5.png"]]) {
[cellLabel setFrame:CGRectMake (195, 22, 30, 30)];
}
if ([cell.imageView.image isEqual:[UIImage imageNamed:@"paddle4.png"]]) {
[cellLabel setFrame:CGRectMake (170, 22, 30, 30)];
}
if ([cell.imageView.image isEqual:[UIImage imageNamed:@"paddle3.png"]]) {
[cellLabel setFrame:CGRectMake (140, 22, 30, 30)];
}
if ([cell.imageView.image isEqual:[UIImage imageNamed:@"paddle2.png"]]) {
[cellLabel setFrame:CGRectMake (110, 22, 30, 30)];
}**
return cell;
}

最佳答案

在配置时将标签设置为单元格:在我的表中,每个部分都有一些部分和一些单元格。因此,第一个 (0) 部分的单元格具有标记 0...9999。从第二个开始 - 10000...19999 等等。我的意思是单元格标记 = 10000* 节数加上该节中该单元格的原始数。然后,为了计算这个单元格到底是什么,我看到有多少个 10000 标签,从它是什么部分计算,以及有多少 >10000 标签必须从它是什么来计算。所以,我的 TableView 中有部分和原始数据。

cell.contentView.tag = indexPath.row+10000*indexPath.section; //or any you like
[cell.contentView addSubview:button]; //adding your button

然后,在按钮的回调中:

int row=0;
int section=0;
long tag = [sender superview].tag;
NSLog(@"tag: %ld", tag);
for (int i = 0; i<[data count]; i++) {
if (tag>=10000)
{
tag-=10000;
section++;
}
else i = [data count];
}
row = tag;

NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndex:section];
indexPath = [indexPath indexPathByAddingIndex:row];
[tableView cellForRowAtIndexPath:indexPath];

现在,您可以完全访问您的手机。使用计算的 rawsection 获取单元格的访问权限。

关于iphone - 我的表格 View 发生了奇怪的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8320956/

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