[IOS]UITableView分区+索引显示-创新互联
效果:
创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信小程序,十载建站对火锅店设计等多个行业,拥有丰富的网站制作经验。步骤:
1.创建一个ViewController,New File->Cocoa Touch->Objective-C class->Class:ViewController,Subclass of:UIViewController
2.打开xib,在view中添加TableView,并将TableView的两个属性拖到File's Owner中,
可以设置tableview的分区样式,选择style
3.ViewController.h:
#import4.ViewController.m:@interface newViewController : UIViewController @property (retain, nonatomic) IBOutlet UITableView *tableView; @property(retain,nonatomic)NSDictionary *dic; @property(retain,nonatomic)NSArray *keys; @end
#import "newViewController.h" @interface newViewController () @end @implementation newViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; NSString *path = [[NSBundle mainBundle] pathForResource:@"sortednames" ofType:@"plist"]; self.dic = [NSDictionary dictionaryWithContentsOfFile:path]; self.keys = [self.dic allKeys]; self.keys = [self.keys sortedArrayUsingSelector:@selector(compare:)]; } //tableView有多少分区 -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return [self.keys count]; } //每个分区对应多少行 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSString *key = self.keys[section];//通过第几个分区拿到对应的key NSArray *arr = [self.dic objectForKey:key];//通过这个key获得对应的Array return [arr count]; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *str = @"str"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:str]; } int section = [indexPath section]; int row = [indexPath row]; NSString *key = self.keys[section]; NSArray *arr = [self.dic objectForKey:key]; cell.textLabel.text = arr[row]; return cell; } //在每个分区上显示什么内容 -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { return self.keys[section]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } //设置索引 -(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { return self.keys; } - (void)dealloc { [_tableView release]; [self.keys release]; [self.dic release]; [super dealloc]; } @end
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:[IOS]UITableView分区+索引显示-创新互联
本文URL:http://scjbc.cn/article/ejppd.html