iOS ABPersonViewController

时间:2011-09-15 00:51:41

标签: ios abaddressbook presentmodalviewcontroller abpersonviewcontroller

我有一个标签栏应用程序,在第一个标签中我有一些按钮和一个表格视图,其中填充了地址簿中的联系信息。我试图在点击单元格的附件按钮时使用ABPersonViewController作为模态视图显示联系信息。我能够显示联系信息,但没有取消按钮来关闭模态视图。有人可以查看下面的代码,让我知道我错过了什么。

ABRecordRef person = (ABRecordRef)[[self peopleList] objectAtIndex:[indexPath row]];
if (ABRecordGetRecordID(person) != kABRecordInvalidID)
{
    ABPersonViewController *personViewController = [[ABPersonViewController alloc] 
                           init];
   personViewController.displayedPerson = person;
    personViewController.allowsActions = YES;
   personViewController.navigationItem.title=@"Contact Info";   
   UINavigationController *navigationController = 
            [[UINavigationController alloc]initWithRootViewController:personViewController];
    [self presentModalViewController:navigationController animated:YES];
    [personViewController release];
}      

1 个答案:

答案 0 :(得分:1)

根据docs,“人员视图控制器必须与导航控制器一起使用才能正常运行。”

ABPersonViewController *personViewController = [[ABPersonViewController alloc] init];
personViewController.personViewDelegate = self;
personViewController.displayedPerson = person;
personViewController.allowsAction = YES;
personViewController.navigationItem.title=@"Contact Info";

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:personViewController];

[self presentViewController:navController animated:YES completion:NULL];