- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"OnlineCell";
OnlineTableViewCell *cell = (OnlineTableViewCell*)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(!cell) {
cell = [[OnlineTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0, 0, 40, 25);
[btn setTitle:@"下载" forState:UIControlStateNormal];
[btn setTitle:@"已下载" forState:UIControlStateDisabled];
[btn addTarget:self action:@selector(btnClicked:event:) forControlEvents:UIControlEventTouchUpInside];
cell.accessoryView = btn;
ArticleModel *article = [self.articlelist objectAtIndex:indexPath.row];
btn.tag = [self.articlelist indexOfObject:article];
if (article.downloaded==1) {
btn.enabled=NO;
}
cell.title.text = article.title;
cell.subtitle.text = article.createtime;
return cell;
}
- ( void )btnClicked:(id)sender event:(id)event
{
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.pullTableView];
NSIndexPath *indexPath = [self.pullTableView indexPathForRowAtPoint:currentTouchPosition];
if (indexPath != nil){
[self tableView:self.pullTableView accessoryButtonTappedForRowWithIndexPath:indexPath];
}
}
-(void)tableView:(UITableView *) tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{
ArticleModel *article = [self.articlelist objectAtIndex:indexPath.row];
// 更新当前文章为已下载
article.downloaded = 1;
[self.articlelist replaceObjectAtIndex:indexPath.row withObject:article];
[self.pullTableView reloadData];
}