使用iOS系统中的编辑联系人界面,其中的思路值得借鉴(继承的思想)

使用iOS系统中的编辑联系人界面

On 2012/12/04, in Objective-C, iOS控件, by willonboy

 

http://willonboy.tk/

//ContactInfoCell.h

ABPersonViewController  *personViewVC;

@property(nonatomic, assign) UINavigationController *globalNav;

 

 

- (void)handleEditBtnClicked:(id)sender

{

    if (!personViewVC)

    {

        personViewVC = [ABPersonViewController new];

    }

    personViewVC.personViewDelegate = self;

    personViewVC.allowsEditing = YES;

    personViewVC.editing = YES;

    

    ABAddressBookRef abRef = [ABAddressBookDataControllermakeABAddressBookRef];

    personViewVC.displayedPerson = ABAddressBookGetPersonWithRecordID(abRef, self.entity.recordId);

    

    UINavigationController *subNav = [[UINavigationController alloc] initWithRootViewController:personViewVC];

    subNav.navigationBarHidden = NO;

    

    UINavigationBar *subNavBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)];

    subNavBar.barStyle = UIBarStyleDefault;

    

    UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"编辑联系人"];

    UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)];

    UIBarButtonItem *okItem = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonSystemItemCancel target:self action:@selector(okEdit:)];

    navItem.leftBarButtonItem = backItem;

    navItem.rightBarButtonItem = okItem;

    

    subNavBar.items = [NSArray arrayWithObjects:navItem, nil];

    [subNav.view addSubview:subNavBar];

    

    [self.globalNav.topViewController presentModalViewController:subNav animated:YES];

    

    [subNavBar release];

    [navItem release];

    [backItem release];

    [okItem release];

    [subNav release];

    CFRelease(abRef);

}

 

 

- (void)cancelEdit:(id)sender

{

    [self.globalNav.topViewController dismissModalViewControllerAnimated:YES];

}

 

 

- (void)okEdit:(id)sender

{

    [[personViewVC editButtonItem].target performSelector:[personViewVC editButtonItem].action];

    NSLog(@"okedit");

    [self cancelEdit:nil];

}

 

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier;

{

    return NO;

}

 

 

 

http://github.com/willonboy

时间: 2024-10-04 16:15:02

使用iOS系统中的编辑联系人界面,其中的思路值得借鉴(继承的思想)的相关文章

在MacOS和iOS系统中使用OpenCV

在MacOS和iOS系统中使用OpenCV OCT 27TH, 2012 前言 OpenCV 是一个开源的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法. 最近试着在MacOS和iOS上使用OpenCV,发现网上关于在MacOS和iOS上搭建OpenCV的资料很少.好不容易搜到些资料,却发现由于OpenCV和XCode的版本更新,变得不再有用了.有些问题费了我很多时间,在此总结分享给大家,希望后来人少走些弯路. 可以预见到,随着XCode和OpenCV的版本更新,本文可能不再有

js-JS setInterval 在IOS系统中不正常?

问题描述 JS setInterval 在IOS系统中不正常? 写了一个js,利用setInterval将几副图片淡入淡出,在台式机和android设备上好好的,在IOS 系统中整个网页都不能正常运作.输入框几乎要等几分钟才能输入一个字符. 开始用的是iphone5s,ipadmini2,以为是设备问题,换iphone6+一样? 为毛哇?写了一个js,利用setInterval将几副图片淡入淡出,在台式机和android设备上好好的,在IOS 系统中整个网页都不能正常运作.输入框几乎要等几分钟才

ios-opencv在iOS系统中缺少stdint,求解答

问题描述 opencv在iOS系统中缺少stdint,求解答 如图,在官方下载的框架opencv3.0的,但总是显示缺东西,是不是我其他的框架没配好?谢谢指导 解决方案 错了,是缺少cstdint,少打了 解决方案二: opencv3是mac的,opencv2才是ios的.

Linux系统中vim编辑命令使用方法

使用Linux,少不了和编辑器打交道.Linux系统中有多个编辑器,一般比如nano,gedit,vi,vim等.nano使用简单,很容易上手,不过功能比较单一.vi命令功能强大,不过上手可能不是很容易.vim是vi命令的加强版,一般使用vim命令.下面简单说下vim的常见用法. vim是一个全屏编辑器,模式化编辑器.模式主要有编辑模式,输入模式,末行模式.默认打开vim命令进入的是编辑模式. 打开文件打开文件:vim /path/to/somefile 其他用法: vim +#:打开文件,并定

系统联系人-android中如何向系统中添加联系人数据

问题描述 android中如何向系统中添加联系人数据 以下是我的代码,但是总是添加的时候程序会崩溃,也没有错误的日志,麻烦哪位大神帮忙一下 ContentValues values = new ContentValues(); //先向RawContact.CONTENT_URI执行一个控制插入,目的是获得系统返回的rawContacctId Uri rawContactUri = this.getApplicationContext().getContentResolver() .insert

java object c-java中将对象序列化后存入数据库中,IOS系统如何读取

问题描述 java中将对象序列化后存入数据库中,IOS系统如何读取 以前开发Android系统,java语言中将一些对象以序列化形式存入了网站的数据库中,这样用户手机如果是Android的话不会有任何问题.现在开发IOS系统,这样出现的一个难题就是在Object_c语言中如何将原来的已序列化的数据读入到IOS系统中.有什么好的方法及思路,请指教.QQ:102697532mail:mingqixu1@163.com

iOS开发中的零碎知识点笔记 韩俊强的博客

每日更新关注:http://weibo.com/hanjunqiang  新浪微博 1.关联 objc_setAssociatedObject关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分. 2.tableView的beginUpdates 和 endUpdates 3.关于代码与storyBoard的自动布局 4.国际化与本地化,为了实现全球化 5.技巧 可以通过设置Scheme来设置app所运行的语言,你想要什么语言就是什么语言,而不用重新设置系统的语言. 6.i

详解iOS设计中的UIWindow使用_IOS

每一个IOS程序都有一个UIWindow,在我们通过模板简历工程的时候,xcode会自动帮我们生成一个window,然后让它变成keyWindow并显示出来.这一切都来的那么自然,以至于我们大部分时候都忽略了自己也是可以创建UIWindow对象.   通常在我们需要自定义UIAlertView的时候(IOS 5.0以前AlertView的背景样式等都不能换)我们可以使用UIWindow来实现(设置windowLevel为Alert级别),网上有很多例子,这里就不详细说了.一.UIWindowLe

如何为win8系统中的附件程序创建快捷方式?

  不管是哪个版本的windows系统,咱们附件中都有很多的程序存在,如果是传统的windows系统,也就是咱们的winXP系统和win7系统,咱们要点击选择其中的附件程序倒是十分的简单,单击开始菜单进入附件就可以了,但是升级到win8系统之后,这个操作就相对麻烦很多了,即便是要创建快捷方式,也不是那么简单的事儿,那么咱们到底要如何操作,才能将win8系统中常用到的一些附件程序创建快捷方式呢?下面,小编就详细的介绍一下吧! 1.这一次,咱们直接在win8电脑的开始屏幕中进行操作就可以了,咱们直接