手机通讯录的实现
来源:互联网 发布:国家网络安全法文件 编辑:程序博客网 时间:2024/05/05 10:17
<pre name="code" class="objc">首先重写UITableViewCell的初始化方法:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { // Initialization code self.photoView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 5, 80, 80)]; _photoView.layer.cornerRadius = 40; _photoView.layer.masksToBounds = YES; [self.contentView addSubview:_photoView]; [_photoView release]; self.nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(120, 5, 60, 35)]; [self.contentView addSubview:_nameLabel]; [_nameLabel release]; self.ageLabel = [[UILabel alloc] initWithFrame:CGRectMake(200, 5, 40, 35)]; [self.contentView addSubview:_ageLabel]; [_ageLabel release]; self.genderLabel = [[UILabel alloc] initWithFrame:CGRectMake(260, 5, 40, 35)]; [self.contentView addSubview:_genderLabel]; [_genderLabel release]; self.phoneNumberLabel = [[UILabel alloc] initWithFrame:CGRectMake(120, 50, 200, 35)]; [self.contentView addSubview:_phoneNumberLabel]; [_phoneNumberLabel release]; } return self;}
@interface RootViewController ()<UITableViewDataSource,UITableViewDelegate>@property (nonatomic, retain) NSDictionary *dic;@property (nonatomic, retain) NSArray *titles;@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization self.dic = [self readDataFromPlist]; self.titles = [[self.dic allKeys] sortedArrayUsingSelector:@selector(compare:)]; } return self;}- (NSDictionary *)readDataFromPlist{ NSString *filePath = [[NSBundle mainBundle] pathForResource:@"AddressBook-2" ofType:@"plist"]; NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath]; return dic;}- (void)loadView{ UITableView *tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStylePlain]; tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; tableView.separatorColor = [UIColor lightGrayColor]; tableView.dataSource = self; tableView.delegate = self; tableView.rowHeight = 90; self.view = tableView; [tableView release];}- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. self.navigationItem.title = @"所有联系人";}#pragma mark - UITableViewDataSource//设置行数- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [self.dic[self.titles[section]] count];}//创建cell- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *identifier = @"mark"; StudentCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier]; if (!cell) { cell = [[[StudentCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier] autorelease]; } NSDictionary *dic = self.dic[self.titles [indexPath.section]][indexPath.row]; cell.photoView.image = [UIImage imageNamed:[dic objectForKey:@"imageName"]]; cell.nameLabel.text = [self.dic[self.titles [indexPath.section]][indexPath.row] objectForKey:@"name"]; cell.ageLabel.text = [self.dic[self.titles [indexPath.section]][indexPath.row] objectForKey:@"age"]; cell.genderLabel.text = [self.dic[self.titles [indexPath.section]][indexPath.row] objectForKey:@"gender"]; cell.phoneNumberLabel.text = [self.dic[self.titles [indexPath.section]][indexPath.row] objectForKey:@"phoneNumber"]; return cell;}//设置分区- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return [self.titles count];}//页眉- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ return self.titles[section];}//索引值- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ return self.titles;}#pragma mark - UITableViewDelegate//当cell被选中时触发- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSString *str = [self.dic[self.titles [indexPath.section]][indexPath.row] objectForKey:@"phoneNumber"]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",str]]]; //2、用UIWebView来实现,打电话结束后会返回当前应用程序: UIWebView *callPhoneWebVw = [[UIWebView alloc] init]; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"tell://%@",str]]]; [callPhoneWebVw loadRequest:request];}通过以上步骤,可实现简单通讯录.
0 1
- 手机通讯录的实现
- 手机通讯录的简单实现
- Android 手机通讯录的实现源码
- 获取手机通讯录的简单实现
- 手机通讯录实现
- 手机通讯录的逻辑
- Android读取手机通讯录实现
- Android读取手机通讯录实现
- Android读取手机通讯录实现
- PinnedSectionListView实现手机通讯录功能
- j2me实现手机通讯录的备份与还原
- 构建简单的手机通讯录
- 手机通讯录AddressBook的使用
- 获取手机通讯录的坑
- Android 获取手机的通讯录
- ionic cordova实现获取显示手机通讯录
- android 通讯录的实现
- 通讯录的实现
- Ubuntu12.04-64 linphone 编译
- Getting an Ubuntu 12.04 machine to give you boot messages
- java分页的思路
- iOS开发,调用打电话,发短信,打开浏览器
- 怎么使用胃肠病治疗仪
- 手机通讯录的实现
- JAVA 学习第八天
- Android平台刷新cache flush
- c++ 关于map的遍历 删除
- The Pursuit of Happyness
- Android软件测试的日志文件抓取简介
- 开闭原则的理解
- V$UNDOSTAT and V$ROLLSTAT 需要整理的
- C#如何实现DataGridView到DataGridView的拖拽