Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在UIPopOverController中显示带有编辑按钮的ABPersonViewController_Ios_Uipopovercontroller_Abpersonviewcontroller - Fatal编程技术网

Ios 如何在UIPopOverController中显示带有编辑按钮的ABPersonViewController

Ios 如何在UIPopOverController中显示带有编辑按钮的ABPersonViewController,ios,uipopovercontroller,abpersonviewcontroller,Ios,Uipopovercontroller,Abpersonviewcontroller,我正在尝试在通用应用程序中启用联系人编辑,在UIPopoverController中显示ABPersonViewController。该人员确实会显示出来,但没有“编辑”按钮。事实上,如果用户已经看到了可编辑表单中的详细信息,我更愿意这样做,但是如果他们可以在点击编辑按钮后进行编辑,那就没问题了。在iPhone上,它工作正常。有人能帮忙吗 ABPersonViewController *view = [[ABPersonViewController alloc] init]; view.p

我正在尝试在通用应用程序中启用联系人编辑,在
UIPopoverController
中显示
ABPersonViewController
。该人员确实会显示出来,但没有“编辑”按钮。事实上,如果用户已经看到了可编辑表单中的详细信息,我更愿意这样做,但是如果他们可以在点击编辑按钮后进行编辑,那就没问题了。在iPhone上,它工作正常。有人能帮忙吗

   ABPersonViewController *view = [[ABPersonViewController alloc] init];
view.personViewDelegate = self;
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef contact = ABAddressBookGetPersonWithRecordID(addressBook,(ABRecordID)recId);
view.displayedPerson = contact;
view.displayedProperties = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonFirstNameProperty], [NSNumber numberWithInt:kABPersonLastNameProperty],  [NSNumber numberWithInt:kABPersonAddressProperty], nil];
view.allowsEditing = YES;
view.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]           initWithTitle:NSLocalizedString(@"Back",nil)     style:UIBarButtonItemStylePlain target:self action:@selector(ReturnFromPersonView)] ;

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    {
        UIPopoverController *addressPopup;
        addressPopup = [[UIPopoverController alloc] initWithContentViewController:view];
        addressPopup.delegate = self;

        self.popoverController = addressPopup;
        [addressPopup release];
        [self.popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
    }
    else
    {
        [self.navigationController pushViewController:view animated:YES];
    }
    if (addressBook) CFRelease(addressBook);

    [view release]; 

您需要将ABPersonViewController*视图显式添加到UINavigationController

    ABPersonViewController *view = [[ABPersonViewController alloc] init];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:view];
    UIPopoverController *personViewPopover = [[UIPopoverController alloc] initWithContentViewController:navController];