长时间点击UItableview部分的错误访问错误

时间:2014-09-19 09:27:20

标签: ios objective-c iphone uitableview ios7

这是我的代码。我用什么来显示表格部分的内容并在部分点击重新加载

    -(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    NSArray *arr=[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
    CustomCell *cellHeader=[arr objectAtIndex:0];
   UIButton *button = [[UIButton alloc] initWithFrame: CGRectMake(0.0, 0.0, 320.0, 80.0)];
    button.alpha = 0.7;
    button.tag=section;
    /* Prepare target-action */
    [button addTarget: self action: @selector(handleTap:) forControlEvents: UIControlEventTouchUpInside];
    [cellHeader.contentView addSubview: button];
    objISLMenu= [self.dataArray objectAtIndex:section];
    NSString *titleStr= objISLMenu.displayName;
    cellHeader.titleLabel.text=titleStr;
    if(section ==selectedSection){
        //bg as red
        [cellHeader.contentView setBackgroundColor:[UIColor redColor]];
        //text as white
        [cellHeader.titleLabel setTextColor:[UIColor greenColor]];
    }
    else{
        //bg as white
        [cellHeader.contentView setBackgroundColor:[UIColor redColor]];
        //text as white
        [cellHeader.titleLabel setTextColor:[UIColor greenColor]];
    }
    return cellHeader.contentView;
    }

-(void)handleTap:(UIButton*)sender
{
NSLog(@"%ld",(long)sender.tag);
if(selectedSection==sender.tag){
    //clicked is same as expanded
    selectedSection=-1;
    [self.tableview reloadSections:[NSIndexSet indexSetWithIndex:sender.tag] withRowAnimation:UITableViewRowAnimationNone];
}
else{
    NSLog(@"%ld",(long)sender.tag);
    long removesectionid=selectedSection;
    selectedSection=sender.tag;
    [self.tableview reloadSections:[NSIndexSet indexSetWithIndex:sender.tag] withRowAnimation:UITableViewRowAnimationNone];
    if(removesectionid!=-1){
        [self.tableview reloadSections:[NSIndexSet indexSetWithIndex:removesectionid]  withRowAnimation:UITableViewRowAnimationNone];
    }
    if([tableview numberOfRowsInSection:sender.tag] ==0 )
    {
         [self updateViewControllerWithIndex:sender.tag];
    }
}

}

我正在使用此代码在按钮点击时显示有关部分重新加载部分数据的数据。长按部分会给我一个错误的访问错误。

1 个答案:

答案 0 :(得分:0)

而不是在内容视图上添加子视图添加视图