2012-04-25 48 views
3

我正在开发地址簿应用程序。当用户从联系人列表中选择一个用户时,我想直接在EDIT模式下使用ABPersonViewController而不是点击编辑按钮ABPersonViewController来打开该记录。我怎样才能做到这一点?由于直接在iphone中编辑模式直接打开ABPersonViewController

+0

你看过这个项目吗?https://developer.apple.com/library/ios/#samplecode/QuickContacts/Listings/Classes_QuickContactsViewController_m.html#//apple_ref/doc/uid/DTS40009475-Classes_QuickContactsViewController_m-DontLinkElementID_6 – Jatin 2012-04-25 12:58:55

回答

2

只需拨打setEditing显示视图后:

ABPersonViewController *ab = [[ABPersonViewController alloc] init]; 
ab.allowsEditing = YES; 
// customize as you see fit 
[self.navigationController pushViewController:ab animated:YES]; 
[ab setEditing:YES animated:NO]; 

我从酥料饼的控制器内尝试这样的iPad和工作正常。

+0

感谢您的查询 – iOSAppDev 2012-09-16 14:09:21

+3

这不适合我。我仍然通过右上角的编辑按钮获取人物详细信息窗口 – Delcasda 2014-01-23 16:51:57

+0

它可能不再适用于iOS7。 – 2014-02-18 19:43:02

-2

我完成了同样的做这样的:

ABRecordID personId = (ABRecordID)contact_ID;// if you want to edit a particular record and you're maintaining contact ID somewhere in your project. 
    ABPersonViewController *contactVC = [[ABPersonViewController alloc] init]; 
    contactVC.personViewDelegate = self;// set your ViewController as delegate 
    contactVC.allowsEditing = YES; //set NO if you don't wanna allow editing 
    contactVC.displayedPerson = ABAddressBookGetPersonWithRecordID(addressBook, personId); 
    [self.navigationController presentViewController:contactVC animated:YES completion:nil]; 
1

其实AB PersonViewController长相酷似ABPersonViewController在编辑模式。

+0

伟大的解决方案!而且您只需将ABNewPersonViewController.Title更改为您喜欢的任何内容,而不是“新联系人”。 – TreeAndLeaf 2015-10-23 06:47:29