UITableViewCell 摺疊與展開
阿新 • • 發佈:2018-11-25
需求:
一級列表展示分類,二級類表顯示分類的具體詳細資訊:
比如: 一級列表顯示: 北京,天津,上海等,
二級列表 點選北京顯示 朝陽區,海淀區,玄武區,等等
但是隻有一個是展開的,如果北京市展開那麼其他都要摺疊.
主要方法:
- (void)didSelecterSection:(AddressTableHeader*)header{ NSInteger tag = header.tag; // 第一步 if (selectedSection != tag && selectedSection != -1) { exentenDict[@(selectedSection)] = @(false); NSIndexSet *set = [[NSIndexSet alloc]initWithIndexesInRange:NSMakeRange(selectedSection, 1)]; [_chooseLocationView.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationAutomatic]; } // 第二步 BOOL exten = exentenDict[@(tag)].boolValue; exentenDict[@(tag)] = @(!exten); NSIndexSet *set = [NSIndexSet indexSetWithIndex:tag]; [_chooseLocationView.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationAutomatic]; selectedSection = tag; }
注意順序:
必須先判斷是否是點選的與上次的是同一行,如果是先要把上一行摺疊,然後才可以展開下一行,如果不是則直接展開當前行.好了如果還有問題可以隨時諮詢.