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中
分享到:
相关推荐
DMA-API-HOWTO是一份指导设备驱动程序编写者如何使用DMA API的指南,旨在帮助驱动程序编写者了解如何正确地使用DMA API,以便在设备驱动程序中实现动态DMA映射。下面是对DMA-API-HOWTO的详细解释和知识点总结。 DMA...
1. 在 "ViewController.swift" 或 "ViewController.m" 文件中,找到 `viewDidLoad` 方法,这是当视图控制器加载时调用的方法。 2. 如果使用Swift,可以添加以下代码: ```swift override func viewDidLoad() { ...
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-...
GCC-HOWTO (33KB) 如何安装GNUC编译器和程式库的方法 Glibc2-HOWTO (13KB) 如何在Linux系统上安装与使用第二版 GNU C Library Hardware-HOWTO (42KB) 详列了大部份被 Linux 所支援的硬件和驱动程序 ...
这个名为"How To Listen (Public) 2.0.4 Setup.zip"的压缩包包含了该软件的安装程序,让用户可以在Windows操作系统上进行安装和使用。 这款软件的核心功能是提供定制化的语音训练,帮助用户提高识别音频细节的能力...
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...
在使用哈曼How to listen进行训练时,应该注意选择高质量的耳机以确保训练效果。同时,也要注意保护自己的听力,避免过度训练导致不必要的听力损伤。合理安排训练时间,按照软件的指导逐渐增加训练难度,这样才能在...
在《C++ How to Program》这本书中,作者深入浅出地介绍了C++的基础知识,包括基本语法、控制结构(如if语句和循环)、函数、数组和指针,这些都是C++程序员必须掌握的基本功。同时,书中也详细讲解了面向对象编程的...
**ncurses Howto 中文版概述** `ncurses`(New Curses)是一个库,用于在文本终端上创建彩色、动态的用户界面。这个库在Linux、Unix以及其他类Unix系统中广泛使用,允许程序员创建类似GUI的应用程序,即使在没有...
包含了将近100张图表,这些图表能用来根据载流能力和...很简单的在绿色单元格内输入项目的设计参数,然后一个适合这些参数的导线宽度就会神奇的出现在黄色的单元格内。在Excel下方能点击不同的工作表格切换到相关的资料
本文档主要探讨如何利用WinUSB库来实现与USB设备的通信,特别适用于独立硬件供应商(IHVs)在为USB设备提供应用程序访问功能时的情况。传统的做法是采用Windows驱动模型(WDM)来实现设备的功能驱动,并将其安装在...
《C How to Program》是一本深受程序员喜爱的C语言学习指南,特别适合初学者和有经验的程序员作为提升技能的参考书。这本书以其全面、详细和实用的特点,为读者提供了深入理解C语言的基础和进阶知识。彩板设计使得...
《Linux HOWTO 中文版(全)》是一个包含多种Linux技术指南的综合资源,对于Linux用户和管理员来说,这是一个极具价值的学习和参考材料。这些HOWTO文档覆盖了从基础操作到高级配置的各种主题,旨在帮助用户更好地理解...
《C++ How to Program》是Paul Deitel与Harvey Deitel合著的一本经典C++编程教程,已更新至第九版。这本书旨在帮助初学者和有一定经验的程序员深入理解和掌握C++语言,提供了全面且实践性强的学习资源。在第九版中,...
HTDP指的是“如何设计程序”(How to Design Programs),这是一本经典的计算机科学教育书籍,由Matthias Felleisen等人撰写,主要教授基于Scheme语言的程序设计技术。这本书强调的是一种设计方法,即编程设计食谱...
C++ How to Program (10th Edition) By 作者: Harvey M. Deitel Paul Deitel ISBN-10 书号: 9332585733 ISBN-13 书号: 9789332585737 Edition 版本: 10th 出版日期: 2017 Format: Paperback C++ How to Program ...
6. **Java-CGI-HOWTO.gz**: 这部分内容涵盖了如何在Linux环境中使用Java进行CGI(Common Gateway Interface)编程,对于构建基于Java的Web应用程序的开发者有很大帮助。 7. **Config-HOWTO.gz**: 可能包含了如何...