您好我有一個UITableView,我dymanically插入細胞轉化爲它包含一個UIStepper和一個UILabel。 UILabel顯示UIStepper的值。集的標籤在由步進控制的細胞 - 目標C
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if(!cell)
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
[cell.textLabel setText:[self.myarray objectAtIndex:indexPath.row]];
UIStepper *stepper = [[UIStepper alloc]init];
UILabel *label = [[UILabel alloc]init];
label.text = [NSString stringWithFormat:@"%.f", stepper.value];
[cell addSubview:stepper];
[cell addSubview:label];
[stepper addTarget:self action:@selector(incrementStepper:) forControlEvents:UIControlEventValueChanged];
return cell;
}
我已刪除了部分上面的線是爲了清晰,做的格式,但是這個作品,一切都OK。
-(void)incrementSkillStepper:(id)sender
{
UIStepper *stepper = (UIStepper*)sender;
//set the label that is in the same cell as the stepper with index stepper.value.
}
當我點擊我要在同一小區內的標籤來增加特定小區步進,但我的問題是在這addtarget工作的方式 - 我只能發送發件人在這種情況下是步進到事件,這意味着它不能訪問動態創建的標籤。有誰知道我可以如何設置incrementStepper委託方法的標籤文本?
好吧,我已經嘗試過,它沒有工作。我試過放行NSLog(@「%@」,[cell.contentView subviews]); NSLog(@「%d」,[[cell.contentView subviews] count]);在該方法的結尾,數組只包含cell.textlabel並且count是1.我不確定爲什麼會這樣,因爲它看起來應該是這樣。 – Jamesla
嘗試使用[cell.contentView addSubview:stepper];和[cell.contentView addSubview:label]; – Bonnie
很酷的工作,但是我不得不將subview instatiation行更改爲UIView * subview = [[cell subviews] lastObject] ;.感謝您的幫助,我真的很感激。 – Jamesla