首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ABPersonViewController已完成编辑通知

ABPersonViewController已完成编辑通知
EN

Stack Overflow用户
提问于 2011-03-24 11:21:24
回答 1查看 2.7K关注 0票数 1

按照苹果公司的快速联系人示例代码使用ABPersonViewController。

代码语言:javascript
复制
ABRecordRef person = (ABRecordRef)[people objectAtIndex:0];
    ABPersonViewController *picker = [[[ABPersonViewController alloc] init] autorelease];
    picker.personViewDelegate = self;
    picker.displayedPerson = person;
    picker.allowsEditing = YES;
    [self.navigationController pushViewController:picker animated:YES];

我需要一种方式来通知选择器已经完成编辑或者已经关闭,这样我就可以更新我的数据存储中的一些缓存值。

苹果的文档建议远离ABPersonViewController的子类化。任何建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-24 11:49:39

代码语言:javascript
复制
    ABPersonViewController *personViewController = [[ABPersonViewController alloc] init];

        personViewController.personViewDelegate = self;
        personViewController.displayedPerson = person; 
        personViewController.allowsEditing=YES;
        personViewController.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back",nil) style:UIBarButtonItemStylePlain target:self action:@selector(ReturnFromPersonView)] ;
        [self.navigationController pushViewController:personViewController animated:YES];
        [personViewController release];

然后编写您的ReturnFromPersonView方法和委托方法

代码语言:javascript
复制
- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifierForValue
{
        // you can write you code here with  [self.navigationController popViewControllerAnimated:YES];
        return YES;     
}

如果你不喜欢“后退按钮”方法--你可以把你的代码直接写进personViewController shouldPerformDefaultActionForPerson:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5414378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档