IOS开发之——私人通讯录删除联系人(59)
一 概述
本文介绍私人通讯录相关的联系人删除相关的操作,涉及以下知识点:
- 左滑删除联系人,界面全局和局部刷新
- 编辑联系人,界面全局和局部刷新
- 左滑删除的文字如何显示中文删除
二 效果图
三 左滑删除联系人,界面全局和局部刷新
3.1 说明
- 联系人ConTroller只要实现
commitEditingStyle
方法,列表项向左滑动会出现删除按钮 - 在
commitEditingStyle
方法中自己实现删除数据并刷新界面
3.2 代码
1 2 3 4 5 6 7 8 9 10 |
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{ if (editingStyle==UITableViewCellEditingStyleDelete) { //删除数据 [self.contacts removeObjectAtIndex:indexPath.row]; //刷新界面 //[self.tableView reloadData];//全局刷新 [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];//删除局部 } NSLog(@"%ld",indexPath.row); } |
四 编辑联系人,界面全局和局部刷新
4.1 功能说明
- 联系人ConTroller的
didUpdateContact
方法是更新联系人要实现的方法 - 在此方法中处理全局和局部刷新逻辑
4.2 代码
1 2 3 4 5 6 7 8 9 |
-(void)editViewController:(EditViewController *)edit didUpdateContact:(Contact *)contact { //刷新表格 //[self.tableView reloadData];//全部刷新 NSIndexPath *selectIndex=[self.tableView indexPathForSelectedRow]; [self.tableView reloadRowsAtIndexPaths:@[selectIndex] withRowAnimation:UITableViewRowAnimationLeft]; //归档 [NSKeyedArchiver archiveRootObject:self.contacts toFile:FilePath]; } |
五 左滑删除的文字如何显示中文删除
5.1 前提
- 系统语言是中文
- 添加中文本地化
5.2 添加本地化操作
-
依次选择:项目——>Locallization——>+,在弹出的语言列表中选择中文简体