iOS.UIKit.15.UITableView

來源:互聯網
上載者:User

1、案例介紹:具備索引功能的分節表視圖,01

圖01

2、team_dictionary.plist

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>A組</key>    <array>        <string>A1-南非</string>        <string>A2-墨西哥</string>        <string>A3-烏拉圭</string>        <string>A4-法國</string>    </array>    <key>B組</key>    <array>        <string>B1-阿根廷</string>        <string>B2-尼日利亞</string>        <string>B3-韓國</string>        <string>B4-希臘</string>    </array>    <key>C組</key>    <array>        <string>C1-英格蘭</string>        <string>C2-美國</string>        <string>C3-阿爾及利亞</string>        <string>C4-斯洛文尼亞</string>    </array>    <key>D組</key>    <array>        <string>D1-德國</string>        <string>D2-澳大利亞</string>        <string>D3-塞爾維亞</string>        <string>D4-加納</string>    </array>    <key>E組</key>    <array>        <string>E1-荷蘭</string>        <string>E2-丹麥</string>        <string>E3-日本</string>        <string>E4-喀麥隆</string>    </array>    <key>F組</key>    <array>        <string>F1-意大利</string>        <string>F2-巴拉圭</string>        <string>F3-斯洛伐克</string>        <string>F4-新西蘭</string>    </array>    <key>G組</key>    <array>        <string>G1-巴西</string>        <string>G2-朝鮮</string>        <string>G3-科特迪瓦</string>        <string>G4-葡萄牙</string>    </array>    <key>H組</key>    <array>        <string>H1-西班牙</string>        <string>H2-瑞士</string>        <string>H3-洪都拉斯</string>        <string>H4-智利</string>    </array></dict></plist>

3、.h

#import <UIKit/UIKit.h>@interface CQ24ViewController : UITableViewController<UISearchBarDelegate>// 表資料@property (strong,nonatomic) NSDictionary *dictData;// 表資料分組名集合@property (strong,nonatomic) NSArray *listGroupname;@end

4、.m

 

#import "CQ24ViewController.h"@interface CQ24ViewController ()@end@implementation CQ24ViewController- (void)viewDidLoad{    [super viewDidLoad];        NSBundle *mainBundle = [NSBundle mainBundle];    NSString *plistPath = [mainBundle pathForResource:@"team_dictionary" ofType:@"plist"];        // 1、初始化表格式資料dictData    self.dictData = [[NSDictionary alloc] initWithContentsOfFile:plistPath];    // 2、初始化分組名稱,排序    NSArray *tempList = [self.dictData allKeys];    self.listGroupname = [tempList sortedArrayUsingSelector:@selector(compare:)];    }- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];}#pragma mark 返回分組數- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    // 1、擷取分組名稱    NSString *groupName = [self.listGroupname objectAtIndex:section];    // 2、將分組名稱作為key,從字典中取出分組資料    NSArray *listTeams = [self.dictData objectForKey:groupName];    return [listTeams count];    }#pragma mark 填充每個節的Cell- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    // 1、載入一個cell    static NSString *CellIdentifier = @"CellIdentifier";    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];    if (cell == nil) {        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];    }    // 2、擷取選擇的節    NSUInteger section = [indexPath section];    // 3、擷取節名稱    NSString *groupName = [self.listGroupname objectAtIndex:section];    // 4、擷取節資料    NSArray *listTeams = [self.dictData objectForKey:groupName];    // 5、擷取選中節中的行索引    NSUInteger row = [indexPath row];    // 6、設定cell中的text    cell.textLabel.text = [listTeams objectAtIndex:row];    return cell;}#pragma mark 節數- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{    return self.listGroupname.count;}#pragma mark 設定節title-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{    NSString *groupName = [self.listGroupname objectAtIndex:section];    return groupName;}#pragma mark 索引- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{    // 1、存在索引的集合    NSMutableArray *listTitles = [[NSMutableArray alloc] initWithCapacity:[self.listGroupname count]];    // 2、初始化索引集合    for (NSString *item in self.listGroupname) {        NSString *title = [item substringToIndex:1];        [listTitles addObject:title];    }    return listTitles;}@end

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.