你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> iOS TableView實現QQ好友列表(一)

iOS TableView實現QQ好友列表(一)

編輯:關於IOS

一,創建項目

iOS TableView實現QQ好友列表(一)

iOS TableView實現QQ好友列表(一)

二,創建所需屬性及實現列表

首先給ViewController創建兩個屬性

  1. UITableView *tableView;//展示列表
  2. NSArray *titleArray;//第一層列表需要展示的數據

 

初始化

  1. tableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
  2. tableView.showsVerticalScrollIndicator=NO;
  3. tableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
  4. [self.view addSubview:tableView];
  1. <span >    </span>titleArray=[[NSArray alloc]initWithObjects:@"朋友",@"親戚",@"同學",@"驢友",@"論壇好友", nil nil];

給ViewController 添加TableView 相關的協議

  1. @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
  2. {
  3.     UITableView *tableView;//展示列表
  4.     NSArray *titleArray;//第一層列表需要展示的數據
  5. }

實現相關協議

  1. #pragma mark --tableViewDelegate
  2. -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  3. {
  4.     //返回列表的行數
  5.     return titleArray.count;
  6. }
  7. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  8. {
  9.     return 0;
  10. }
  11. -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
  12. {
  13.     return 50;
  14. }
  15. -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
  16. {
  17.     UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 30)];
  18.     UILabel *titleLabel=[[UILabel alloc]initWithFrame:CGRectMake(20, 5, SCREEN_WIDTH, 30)];
  19.     titleLabel.text=[titleArray objectAtIndex:section];
  20.     [view addSubview:titleLabel];
  21.     return view;
  22. }

到此為止已經實現了第一層分類列表的實現

接下來 我們實現第二層。比如說展開朋友分組就會出現所有朋友分組下的好友列表

首先創建一個字典用來存儲相關信息

  1. NSArray *friendsArray;//好友列表
  2. NSArray *familyArray;//親戚列表
  3. NSArray *schoolmateArray;//同學列表
  4. NSArray *friendstravelArray;//驢友列表
  5. NSArray *xianFriendsArray;//西安好友列表
  6. NSArray *strangersArray;//陌生人列表
  7. NSDictionary *dataDic;//第二層需要展示的數據

 

初始化數據

  1. -(void)initDataSource
  2. {
  3.     titleArray=[[NSArray alloc]initWithObjects:@"朋友",@"親戚",@"同學",@"驢友",@"西安好友",@"陌生人", nil nil];
  4.     NSDictionary *dic01=[[NSDictionary alloc]initWithObjectsAndKeys:@"張三豐",@"name",@"男",@"sex", nil nil];
  5.     NSDictionary *dic02=[[NSDictionary alloc]initWithObjectsAndKeys:@"鄧超",@"name",@"男",@"sex", nil nil];
  6.     NSDictionary *dic03=[[NSDictionary alloc]initWithObjectsAndKeys:@"吳奇隆",@"name",@"男",@"sex", nil nil];
  7.     friendsArray=[[NSArray alloc]initWithObjects:dic01,dic02,dic03, nil nil];
  8.     NSDictionary *dic11=[[NSDictionary alloc]initWithObjectsAndKeys:@"爸爸",@"name",@"男",@"sex", nil nil];
  9.     NSDictionary *dic12=[[NSDictionary alloc]initWithObjectsAndKeys:@"弟弟",@"name",@"男",@"sex", nil nil];
  10.     NSDictionary *dic13=[[NSDictionary alloc]initWithObjectsAndKeys:@"三哥",@"name",@"男",@"sex", nil nil];
  11.     NSDictionary *dic14=[[NSDictionary alloc]initWithObjectsAndKeys:@"大伯",@"name",@"男",@"sex", nil nil];
  12.     NSDictionary *dic15=[[NSDictionary alloc]initWithObjectsAndKeys:@"二舅",@"name",@"男",@"sex", nil nil];
  13.     familyArray=[[NSArray alloc]initWithObjects:dic11,dic12,dic13,dic14,dic15, nil nil];
  14.     NSDictionary *dic21=[[NSDictionary alloc]initWithObjectsAndKeys:@"胖子",@"name",@"男",@"sex", nil nil];
  15.     NSDictionary *dic22=[[NSDictionary alloc]initWithObjectsAndKeys:@"雄哥",@"name",@"男",@"sex", nil nil];
  16.     NSDictionary *dic23=[[NSDictionary alloc]initWithObjectsAndKeys:@"小六子",@"name",@"男",@"sex", nil nil];
  17.     schoolmateArray=[[NSArray alloc]initWithObjects:dic21,dic22,dic23, nil nil];
  18.     NSDictionary *dic31=[[NSDictionary alloc]initWithObjectsAndKeys:@"三炮",@"name",@"男",@"sex", nil nil];
  19.     NSDictionary *dic32=[[NSDictionary alloc]initWithObjectsAndKeys:@"鄭海峰",@"name",@"男",@"sex", nil nil];
  20.     NSDictionary *dic33=[[NSDictionary alloc]initWithObjectsAndKeys:@"王重陽",@"name",@"男",@"sex", nil nil];
  21.     NSDictionary *dic34=[[NSDictionary alloc]initWithObjectsAndKeys:@"丘處機",@"name",@"男",@"sex", nil nil];
  22.     NSDictionary *dic35=[[NSDictionary alloc]initWithObjectsAndKeys:@"呂娜",@"name",@"男",@"sex", nil nil];
  23.     NSDictionary *dic36=[[NSDictionary alloc]initWithObjectsAndKeys:@"郭金明",@"name",@"男",@"sex", nil nil];
  24.     friendstravelArray=[[NSArray alloc]initWithObjects:dic31,dic32,dic33,dic34,dic35,dic36, nil nil];
  25.     NSDictionary *dic41=[[NSDictionary alloc]initWithObjectsAndKeys:@"李曉峰",@"name",@"男",@"sex", nil nil];
  26.     NSDictionary *dic42=[[NSDictionary alloc]initWithObjectsAndKeys:@"王蒙",@"name",@"男",@"sex", nil nil];
  27.     NSDictionary *dic43=[[NSDictionary alloc]initWithObjectsAndKeys:@"李建",@"name",@"男",@"sex", nil nil];
  28.     xianFriendsArray=[[NSArray alloc]initWithObjects:dic41,dic42,dic43, nil nil];
  29.     NSDictionary *dic51=[[NSDictionary alloc]initWithObjectsAndKeys:@"胡雪",@"name",@"男",@"sex", nil nil];
  30.     NSDictionary *dic52=[[NSDictionary alloc]initWithObjectsAndKeys:@"張小歡",@"name",@"男",@"sex", nil nil];
  31.     NSDictionary *dic53=[[NSDictionary alloc]initWithObjectsAndKeys:@"劉麗麗",@"name",@"男",@"sex", nil nil];
  32.     strangersArray=[[NSArray alloc]initWithObjects:dic51,dic52,dic53, nil nil];
  33.     dataDic=[[NSDictionary alloc]initWithObjectsAndKeys:friendsArray,[titleArray objectAtIndex:0],familyArray,[titleArray objectAtIndex:1],schoolmateArray,[titleArray objectAtIndex:2],friendstravelArray,[titleArray objectAtIndex:3],xianFriendsArray,[titleArray objectAtIndex:4], strangersArray,[titleArray objectAtIndex:5], nil nil];
  34. }

 

實現以下幾個代理方法

  1. -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  2. {
  3.     NSString *str=[titleArray objectAtIndex:indexPath.section];
  4.     NSArray *arr=[dataDic objectForKey:str];
  5.     static NSString *CellIdentifier = @"MainCell";
  6.     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  7.     cell=nil;
  8.     if (cell == nil) {
  9.         cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
  10.         cell.selectionStyle = UITableViewCellSelectionStyleGray;
  11.     }
  12.     UILabel *userLabel=[[UILabel alloc]initWithFrame:CGRectMake(30, 5, SCREEN_WIDTH, 30)];
  13.     userLabel.text=[[arr objectAtIndex:indexPath.row] valueForKey:@"name"];
  14.     [cell.contentView addSubview:userLabel];
  15.     return cell;
  16. }

 

到目前位置 效果如下:

這節我們先講到這裡,下節我們將實現好友列表的豐富(包括頭像,簽名等)

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved