`
mmdev
  • 浏览: 13002144 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

[HOW TO]怎么在iPhone程序中实现可多选可搜索按字母排序的联系人选择器

 
阅读更多

iPhone自带的people picker已经可以让我们选择单个联系人并获取详细信息,但如果你想要群发消息或邮件,people picker将无法满足需求。

而这是移动互动社区类软件核心功能之一。

下面提供简单的思路:

1)创建一个YourPeoplePickerController,继承于UITableViewController并实现如下代理:

ABPeoplePickerNavigationControllerDelegate,UIPickerViewDataSource,UIPickerViewDelegate

2)以UITableViewStyleGrouped风格进行初始化

3)以26个英文字母分组表视图

4)以联系人姓氏首字母归类到表试图中,可使用一个mutable array存储这个分段(组)数据:sectionArray

5)类似的用一个filteredArray代表搜索后的数据

6)在didSelectRowAtIndexPath方法中设置checkmark style:

if (cell.accessoryType == UITableViewCellAccessoryNone) {

cell.accessoryType = UITableViewCellAccessoryCheckmark;

......

else if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {

cell.accessoryType = UITableViewCellAccessoryNone;


7)把reuse identifier设置成section首字母以避免checkmark在不同page上出现重复

8)对中文做特殊处理,需要按拼音转换到英文字母并归类到sectionArray中

分享到:
评论

相关推荐

    linux howto中文合集

    HOWTO-html<br>News-HOWTO-html<br>News-Leafsite-html<br>Oracle-HOWTO-html<br>Plug-and-Play-HOWTO-html<br>PPP-HOWTO-html<br>Printing-HOWTO-html<br>QT 3.3 中文白皮书.pdf Quota RCS-...

    Linux Howto 中文文档

    GCC-HOWTO (33KB) 如何安装GNUC编译器和程式库的方法 Glibc2-HOWTO (13KB) 如何在Linux系统上安装与使用第二版 GNU C Library Hardware-HOWTO (42KB) 详列了大部份被 Linux 所支援的硬件和驱动程序 ...

    Linux中文HOWTO

    Linux中文HOWTO Linux中文HOWTO Linux中文HOWTO

    最新的linux howto 中文合集

    如何在程序中使用序列埠。 Updated 22 January 1998. # Shadow Password HOWTO, by Michael H. Jackson <mhjack@tscnet.com>. 如何取得,安装,设定 shadow 密码。 Updated 3 April 1996. # Software Building HOWTO...

    在你的程序中实现打印支持Learn how to implement print support

    在你的程序中实现打印支持Learn how to implement print support in your applications.

    程序设计方法(How_To_Design_Programs)-MIT.pdf

    《程序设计方法》以Scheme语言为基础介绍计算和程序设计的一般理论和实践。《程序设计方法》由8个部分和7个独立的章节(第8、13、18、24、29、33、38章)组成。8个部分主要讨论程序设计,独立章节则介绍一些与程序...

    HowTo2152.zip_howto2152

    包含了将近100张图表,这些图表能用来根据载流能力和...很简单的在绿色单元格内输入项目的设计参数,然后一个适合这些参数的导线宽度就会神奇的出现在黄色的单元格内。在Excel下方能点击不同的工作表格切换到相关的资料

    How To Create HelloWorld For iPhone

    剖析创建基本helloworld的ios原理,从而能让ios开发者达到入门的效果

    How To Write A Dissertation

    How To Write A Dissertation

    ncurses howto中文

    ncurse howto中文版,例源码 CDK5.0

    C How to Program

    这是一本C++的初级教课书,第10版,作者是Paul Deitel and Harvey Deitel

    How to Create hello world iphone application

    How to Create hello world iphone app

    how to how to how to

    how to

    How To Listen (Public) 2.0.4 Setup.zip

    how to listen 测音软件 训练金耳朵 评分: 软件为测试听音软件 可以自定义语音、训练自己的耳朵可以分辨音频的细微差别

    How to Do Everything with Your iPhone

    How to Do Everything with Your iPhone

    Linux流量控制指南中文翻译(Traffic control HOWTO)

    Linux流量控制指南,中文版。原文地址:http://www.tldp.org/HOWTO/html_single/Traffic-Control-HOWTO/ 水平有限,仅供参考!

    how to solve it

    Polya, "How to Solve It" will show anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown ...

    RK3399的DRM-HOWTO测试

    最近在学习与调试RK3399的DRM显示架构,网上有很多例程,其中介绍比较多的是来于David Herrmann’s Github的drm-howto.开源代码 但这些源码下载后执行make编译出来的执行文件只能在PC机上测试运行,因为用的是PC机的...

    C++ How to Program 10th ediiton

    英文版 C++ How to Program 10th ediiton C++ How to Program 10th ediiton

Global site tag (gtag.js) - Google Analytics