博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
8-20学习练习[用两个tableview实现类似省市联动选择效果]
阅读量:6258 次
发布时间:2019-06-22

本文共 4118 字,大约阅读时间需要 13 分钟。

在一个View中显示两个tableView,要求使用statedictionary.plist中的数据,其中key作为左边的数据,每点击一个key,在右边的tableView中显示对应的号码列表,并且左边的tableView,前5行为一个分区(title显示top),剩下的为另一个分区(title显示other)

效果图:

问题:1.为什么选择之后取消蓝色背景取消不了
代码:
ViewController.h:
#import 
@interface DXWViewController : UIViewController
@property (retain, nonatomic) IBOutlet UITableView *TableView1; @property (retain, nonatomic) IBOutlet UITableView *TableView2; @property (retain, nonatomic) NSDictionary *dic;//原始数据 @property(retain, nonatomic)NSMutableArray * keys;//可以修改的key(用作分区) @property(retain,nonatomic)NSArray *secArr;//保存某一个key对应的value @end
ViewController.m:
#import "DXWViewController.h" @interface DXWViewController ()  @end  @implementation DXWViewController  - (void)viewDidLoad {     [super viewDidLoad]; 	NSString *path = [[NSBundle mainBundle] pathForResource:@"statedictionary" ofType:@"plist"];     //最原始的数据,不可改变     self.dic = [NSDictionary dictionaryWithContentsOfFile:path];     //NSLog(@"%@",self.dic);          self.keys = [[NSMutableArray alloc] init];     NSArray *arr=[self.dic allKeys];     arr = [arr sortedArrayUsingSelector:@selector(compare:)];     self.keys = arr;     self.secArr = [[NSArray alloc] initWithArray:[self.dic objectForKey:[self.keys objectAtIndex:0]]];      }   - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];      }  //tableView有多少分区,左边前5行作为一个分区标题top,剩下的为另外一个分区标题other -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {     if (tableView == self.TableView1) {         return 2;     }     else         return 1; } //每个cell显示的内容 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {     NSInteger section = [indexPath section];     NSInteger row = [indexPath row];     if (tableView == self.TableView1)     {         static NSString *str1 = @"str1";         UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str1];         if (cell == nil) {             cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:str1];         }         cell.textLabel.text = [self.keys objectAtIndex:row];         return cell;                      }     else     {         static NSString *str = @"str";         UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str];         if (cell == nil) {             cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:str];         }         cell.textLabel.text = [self.secArr objectAtIndex:row];         return  cell;     } }  //每个分区对应多少行 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {     if (tableView == self.TableView1) {         if (section == 0) {             return 5;         }         else         {             return ([self.keys count] - 5);         }     }     else     {         return [self.secArr count];     } }  //在每个分区Title上显示什么内容 -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {     if (tableView == self.TableView1) {         if (section == 0)         {             return @"top";         }         else         {             return @"other";         }     }     else         return nil; }  //设置索引 //-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView //{ //    if (tableView == self.TableView1) { //        return [[NSArray alloc] initWithObjects:@"top",@"other", nil]; //    } //}  //点击选择 -(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {     if (tableView == self.TableView1) {         self.secArr = [[NSArray alloc] initWithArray:[self.dic objectForKey:[self.keys objectAtIndex:[indexPath row]]]];         NSLog(@"%@",self.secArr);         //取消选中         [tableView deselectRowAtIndexPath:indexPath animated:YES];     }     [self.TableView2 reloadData]; }  - (void)dealloc {     [_TableView1 release];     [_TableView2 release];     [self.secArr release];     [self.dic release];     [self.keys release];     [super dealloc]; } @end
本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366427
,如需转载请自行联系原作者
你可能感兴趣的文章
【Spring Boot && Spring Cloud系列】那些Spring Boot中踩过的坑
查看>>
对XX系统的可用性和易用性改良
查看>>
大数据如何解决人工智能对文本挖掘的挑战
查看>>
updatepanel的属性
查看>>
.net 客户端调用java或.net webservice进行soapheader验证
查看>>
RadViz可视化方法--javascript实现
查看>>
软件工程综合实践的第二次实验报告
查看>>
Git储藏与恢复
查看>>
Lua 打印Table
查看>>
性能分析
查看>>
自定义php-mysqli工具增强类,支持链式调用
查看>>
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
查看>>
linux常用命令总结-updating
查看>>
SQL事务回滚样例
查看>>
AndFix注意事项
查看>>
Servlet、Filter、Listener、Interceptor
查看>>
SpringMVC源码分析系列
查看>>
SnakeWords开发--Android 2.2
查看>>
zookeeper的python客户端安装
查看>>
LINUX 下Open cv练习使用小记(2)
查看>>