`
xhanxhanxhan
  • 浏览: 208731 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

QQ - iPhone 风格的好友列表实现

QQ 
阅读更多
//
//  QQstyleTableViewViewController.h
//  QQstyleTableView
//
//  Created by xhan on 9/22/09.
//  Copyright In-Blue 2009. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface QQstyleTableViewViewController : UIViewController < UITableViewDelegate , UITableViewDataSource , UIScrollViewDelegate > {
	UITableView* _tableView;
	NSMutableArray* _array;
	BOOL *flag;
}

@property (nonatomic, retain) UITableView *tableView;

- (int)numberOfRowsInSection:(NSInteger)section;

@end


 
//
//  QQstyleTableViewViewController.m
//  QQstyleTableView
//
//  Created by xhan on 9/22/09.
//  Copyright In-Blue 2009. All rights reserved.
//

#import "QQstyleTableViewViewController.h"

@implementation QQstyleTableViewViewController

@synthesize tableView = _tableView;

////////////////////////////////////////////////////////////////////////////////////////
// NSObject 
- (void)dealloc {
	free(flag);
    [_tableView release], _tableView = nil;
    [super dealloc];
}

- (void)viewDidLoad {
    [super viewDidLoad];
	_tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds  style:UITableViewStylePlain];
	_tableView.delegate = self;
	_tableView.dataSource = self;

	[self.view addSubview:_tableView];
	_array = [[NSMutableArray alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"AA",@"BB",@"CC",@"DD",nil],
													 [[NSArray alloc] initWithObjects:@"EE",@"FF",@"GG",@"XX",@"ZZ",nil],	
													 [[NSArray alloc] initWithObjects:@"JJ",@"VV",@"EE",@"NN",nil],
													 nil];
	flag = (BOOL*)malloc([_array count]*sizeof(BOOL*));
	memset(flag, NO, sizeof(flag));

}

////////////////////////////////////////////////////////////////////////////////////////
// 
#pragma mark Table view  delegate methods

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return [_array count];
}



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
	return [self numberOfRowsInSection:section];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
	static NSString *CellIdentifier = @"CellIdentifier";
	UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
	if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
	NSString* str = [[_array objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
	cell.textLabel.text = str;
	return cell;
}



- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
	UIButton *abtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//	abtn.frame = CGRectMake(0, 0, 200, 48);
//	abtn.titleLabel.text = @"HEADER";
	abtn.tag = section;
	[abtn addTarget:self action:@selector(headerClicked:) forControlEvents:UIControlEventTouchUpInside];
	return abtn;
}

////////////////////////////////////////////////////////////////////////////////////////
// 
-(void)headerClicked:(id)sender
{
	int sectionIndex = ((UIButton*)sender).tag;
	flag[sectionIndex] = !flag[sectionIndex];
	[_tableView reloadData];
}

- (int)numberOfRowsInSection:(NSInteger)section
{
	if (flag[section]) {
		return [(NSArray*)[_array objectAtIndex:section] count];
	}
	else {
		return 0;
	}
}

@end

分享到:
评论
5 楼 cbc009 2009-09-26  
没图没真相
4 楼 哇你长得真高 2009-09-24  
介个。。。
截图出来应该是这样的:一个tableview的列表,每行一个名字,与球球无关。。。
标题党
3 楼 showtime520 2009-09-24  
无图五真相啊,期待
2 楼 tuti 2009-09-23  
是啊,这兄弟当大家都是IPHONE啊,能直接运行程序啊。给个截图啊
1 楼 lordhong 2009-09-23  
呵呵, 哥们来个截图看下?

相关推荐

    Android代码-实现QQ好友列表源码.zip

    这个"Android代码-实现QQ好友列表源码.zip"压缩包很可能是包含了一个简单的Android项目,用于展示如何在Android应用中实现一个类似QQ的好友列表功能。下面我们将深入探讨实现这样一个功能所需的关键技术和知识点。 ...

    QQ好友备份---------QQ好友备份(个人专用版).rar

    它包含了软件的全部算法和功能实现,能够访问QQ客户端数据,读取并解析好友信息,最终将其导出至用户指定的安全位置。这个文件的稳定性和高效性是决定整个备份流程是否顺利的关键。 而“dask.ssk”文件通常不会被...

    Qt QQ好友多列表实现demo(抽屉效果)

    在本文中,我们将深入探讨如何使用Qt框架来实现一个类似QQ好友列表的多列抽屉效果。这个示例项目名为"MyQQExample",它利用了Qt中的QToolBox和QToolButton类,来创建一个交互式的用户界面。 首先,我们要理解`...

    世上最高仿QQ2012的局域网聊天程序-完美好友列表(绝对经典)

    10.最主要的当然是QQ好友列表啦,网上找了很多仿QQ列表组件,看效果都特别特别差,于是小编自己写了好友列表,高仿度足以以假乱真,采用双向加载更新数据。好友列表自动刷新,查看时也不会闪屏。 11.聊天窗口与QQ...

    安卓QQ相关相关-仿QQ好友列表折叠效果.rar

    在安卓平台上,实现类似QQ的好友列表折叠效果是一项常见的需求,它可以提高用户界面的可读性和交互性。这个“仿QQ好友列表折叠效果.rar”压缩包可能包含了一个示例项目或者源代码,用于演示如何在Android应用中创建...

    Qt 模仿QQ登陆,QQ好友列表,QQ聊天窗口。完全复原QQ界面,可以学习Qt基础,Qt界面美化,自定义树形控件等知识。

    5. **实现QQ好友列表**: - **数据模型**:将好友信息存储在数据结构中,如QVector或QList,然后用自定义的QAbstractListModel进行展示。 - **搜索和筛选**:添加搜索框,实现对好友列表的实时搜索功能。 - **...

    IOS 实现QQ好友列表

    这个项目"IOS 实现QQ好友列表"旨在利用UITableView的HeaderView特性,为用户提供一个直观且易于滚动浏览的好友界面。下面我们将深入探讨如何实现这样一个功能。 首先,我们需要了解UITableView的基本结构。...

    ios-树形的列表 类似qq好友列表.zip

    总之,通过RATreeView和Masonry的结合,开发者可以快速实现一个功能完备且性能良好的iOS树形列表,这种列表类似于QQ好友列表,可以有效地展示和管理具有层级关系的数据。在实际应用中,可以根据项目需求调整这两个库...

    获取QQ好友列表,delphi编程实现

    本文将详细介绍如何使用Delphi编程实现获取QQ好友列表的功能。 首先,要获取QQ好友列表,我们需要了解QQ的通信协议。QQ的通信协议是私有的,但通过研究和逆向工程,开发者可以找到一些接口来模拟与QQ服务器的交互。...

    易语言仿QQ好友列表框源码

    "仿QQ好友列表框源码"是指使用易语言编写的一个程序,该程序模仿了腾讯QQ应用中的好友列表显示功能。这个源码可能是为了教学目的或者作为实践项目,帮助用户了解和学习如何在易语言中实现类似界面和功能。 首先,...

    MFC 树形控件 实现qq好友列表功能

    在本文中,我们将深入探讨如何使用MFC(Microsoft Foundation Classes)中的树形控件来实现类似于QQ好友列表的功能。MFC是微软为Windows应用程序开发提供的一组C++类库,它封装了Windows API,使得开发者可以更加...

    QT实现类似QQ好友分组列表

    QT实现类似QQ好友分组列表源代码,可以自定义分组,可以自定义添加删除好友,添加删除分组..........................................................................................................................

    android开发技术实现实现qq登录注册好友列表界面跳转

    android开发技术实现实现qq登录注册好友列表界面跳转 1.设计登录界面,注册界面和好友列表界面。 2.在登录界面输入用户名“admin”,密码“abc123”后,判断用户名和密码是否正确。 (1)若用户名或密码错误则给出相应...

    易语言取QQ好友列表

    在本案例中,我们关注的是一个特定的功能——“取QQ好友列表”。这个功能允许程序员通过易语言来获取腾讯QQ即时通讯软件的用户好友列表。 首先,我们需要了解易语言的基础语法。易语言的核心思想是“易学易用”,其...

    iOS开发 - 第02篇 - UI进阶 - 05 - QQ好友列表

    开发者可以通过阅读和运行这些代码来进一步学习和理解QQ好友列表的实现细节,包括但不限于Cell的定制、数据源的配置、网络请求的处理、以及界面交互的实现。 总之,通过模拟QQ好友列表的开发,开发者可以提升对iOS ...

    Android 实现QQ好友列表源码.zip

    在这个"Android实现QQ好友列表源码"项目中,开发者可以深入理解如何在Android环境中构建这样一个功能。 1. **用户界面设计**: - 使用Android Studio中的XML布局文件来设计界面,包括RecyclerView或者ListView作为...

    android qq好友列表

    在Android开发中,实现一个类似QQ的好友列表通常涉及到多个技术点,包括UI设计、数据结构、事件处理等。这个实例使用了ExpandableListView控件,这是一个强大的组件,可以展示可展开/折叠的子列表,非常适合构建层次...

    iOSQQ好友列表

    首先,标题"iOSQQ好友列表"指的是我们要在iOS应用中实现一个类似于QQ应用中的好友列表视图。在iOS开发中,这样的视图通常会使用UITableView或者UICollectionView来实现,因为这两种控件能够高效地展示大量可滚动的...

    QQ好友列表模拟实现

    下面将详细讨论如何模拟实现QQ好友列表,包括GDI显示图片、名字和个性签名等核心知识点。 首先,我们需要理解CListCtrl的基本操作。CListCtrl是基于Windows的ListView控件,它可以用来展示多列数据,每行可以包含...

    java实现的仿QQ好友列表

    很多同志在用java做仿QQ聊天程序或者是做聊天程序时,都不自觉得想到了QQ好友列表,可是java中的JTree没有那个功能,又要显示头像又要显示昵称,这个资源不仅可以实现以上功能,而且可以显示个性签名和空间动态等,...

Global site tag (gtag.js) - Google Analytics