我在这个问题上停留了几个小时。我的表格 View 中有 3 行。
我还使用包含 1 个按钮和 1 个进度条的自定义单元格。
问题是当我点击第一行或第二行的按钮时,进度条总是显示在第三行。我不知道为什么。但我想显示与我们单击的行相对应的进度条。
@interface ViewController_ ()
{
CustomViewCell *cell;
}
@end
- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
cell = (CustomViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil) {
NSArray *nib;
nib = [[NSBundle mainBundle] loadNibNamed"IssueViewCell" owner:self options:nil];
for (id oneObject in nib)
if ([oneObject isKindOfClass:[CustomViewCell class]])
cell = (CustomViewCell *)oneObject;
}
cell.progressBar.hidden = YES;
[cell.downloadButton setTitle"Download" forState:UIControlStateNormal];
[cell.downloadButton addTarget:self actionselector(downloadButtonCliked forControlEvents:UIControlEventTouchUpInside];
}
-(void) downloadButtonClikedUIButton *)sender{
NSLog(@"Called when press");
cell.progressBar.hidden = NO;
}
Best Answer-推荐答案 strong>
您没有以正确的方式获取单元格。您的单元格实例将始终是表格 View 加载的最后一个单元格。
你应该删除单元格引用,你不需要它。
您可以像这样更改代码:
-(void) downloadButtonClikedUIButton *)sender{
NSLog(@"Called when press");
CustomViewCell *buttonCell = (CustomViewCell*) sender.superview.superview;
//if you add the button to the cell view the you should call sender.superview;
buttonCell.progressBar.hidden = NO;
}
关于ios - 使用自定义 TableViewCell 单击时显示对应于 TableView 行的进度条,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16560273/
|