2016-11-21 37 views
2

我已经使用名为“ExpandableTableView”第三方扩展桌子视图,当我想在我的view.my代码片段使用自定义按钮以展开特别是单节:如何扩大单个特定部分?

UIView *view=Gesture.view; 
    isFirsTime=NO; 
    //NSLog(@"%ld",(long)view.tag); 
    for (int h=0; h<dicAll.count; h++) 
    { 
     NSString *strRegisterId=[[[dictStatndardDefectsResult valueForKey:@"defectdata:"]valueForKey:@"projectdefectid"]objectAtIndex:h]; 
     NSString *strBtnTag=[NSString stringWithFormat:@"%ld",(long)view.tag]; 
     if ([strRegisterId isEqualToString:strBtnTag]) 
     { 
      btnIndex=h; 
      // NSLog(@"%ld",(long)btnIndex); 
      isTappedMarker=YES; 

     } 
    } 
    NSMutableArray *indexPaths=[[NSMutableArray alloc]init]; 
    [indexPaths addObject:[NSIndexPath indexPathForRow:0 inSection:btnIndex]]; 

     NSLog(@"%@",arrDefectImages); 

     NSLog(@"numberOfRowsInSection: %ld",(long)[self tableView:tblSupplierDefect numberOfRowsInSection:btnIndex]); 
     [tblSupplierDefect beginUpdates]; 

     [self.tblSupplierDefect insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic]; 
     [tblSupplierDefect endUpdates]; 

其中btnIndex是一款数字我想扩大。

回答

0

我以这个来实现类似的东西:

func didTapOnHeader(tapGesture: UITapGestureRecognizer) { 

    let view = tapGesture.view as! ViewHeader 

    // collapse if already expended. 
    if view.tag == self.dataBinder.selectedSection { 

     //collaps the section 
     self.dataBinder.selectedSection = nil 
     self.tableView.reloadSections(NSIndexSet(index:view.tag), withRowAnimation: UITableViewRowAnimation.Automatic) 

    }else { 

     // collapse last selected section, at a time one section should be selected. 
     self.dataBinder.selectedSection = nil 
     self.tableView.reloadData() 

     //expand plan details 
     self.dataBinder.selectedSection = view.tag 
     self.tableView.reloadSections(NSIndexSet(index:view.tag), withRowAnimation: UITableViewRowAnimation.Automatic) 
    } 
} 


func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

    let view = ViewHeader.instanceFromNib() 
    view.tag = section 
    let gesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.didTapOnHeader(_:))) 
    view.addGestureRecognizer(gesture) 

    //### Assignment ### 
    view.planDescriptionLabel.text = plan.planDescription 

    return view 
} 

这将关闭perviously选择的部分,将在TA时间仅扩展一个部分。