2016-11-21 3 views
2

私は私のview.myコードスニペットにカスタムボタンを使用して、特定の単一セクションを展開したいときに私は、「ExpandableTableView」という名前のサードパーティ拡張可能なテーブルビューを使用しているは、次のとおりです。単一の特定のセクションを展開するには?

btnIndexが私のセクション番号です
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]; 

拡大したい

答えて

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で唯一のセクションを展開します。

関連する問題