0
我在UITableViewCell中遇到一些UIButton問題。 我使用原型單元格在故事板中創建了一個自定義tableviewcell。 有兩個按鈕,我爲它們設置了一個標籤。 第一次繪製表視圖時,所有顯示都是正確的,但是如果我滾動或更新數據並在tableview上調用reloadData,則它不會更新正確。UITableViewCell中的UIButton是零
代碼:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Moment Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSLog(@"Cell: %@", cell);
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
NSArray *row = [mMoment objectAtIndex:indexPath.row];
UILabel *label;
label = (UILabel *)[cell viewWithTag:101];
label.text = [row objectAtIndex:0];
label = (UILabel *)[cell viewWithTag:102];
label.text = [NSString stringWithFormat:@"Koeff: %@",[row objectAtIndex:2]];
UIButton *button;
NSString *btn_title;
button = (UIButton *)[cell viewWithTag:104];
NSLog(@"Button: %@", button);
[button setTag:1];
btn_title = [NSString stringWithFormat:@"%@", [row objectAtIndex:4]];
[button setTitle:btn_title forState:(UIControlState)UIControlStateNormal];
[button addTarget:self action:@selector(poangButtonClick:event:) forControlEvents:UIControlEventTouchUpInside];
NSLog(@"Row: %d, Poäng: %@", indexPath.row, btn_title);
label = (UILabel *)[cell viewWithTag:103];
label.text = btn_title;
button = (UIButton *)[cell viewWithTag:105];
[button setTag:2];
btn_title = [NSString stringWithFormat:@"%@", [row objectAtIndex:5]];
[button setTitle:btn_title forState:(UIControlState)UIControlStateNormal];
[button addTarget:self action:@selector(poangButtonClick:event:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}
首次button = (UIButton *)[cell viewWithTag:104];
叫上每一個可見的行,一切是正確的,但如果我滾動或重裝認爲,按鈕是零? 爲什麼?以相同的方式檢索標籤,並正確顯示。 如何更改單元格中按鈕的標籤?
問候
/弗雷德裏克
是的!這確實是問題! :)沒有意識到那些標籤是一樣的......謝謝! – jymdman