1

出于某种原因,我的 shouldPerformDefaultActionForPerson 函数永远不会在模拟器和设备中被调用。有人可以看看这个并告诉我我错过了什么吗?从我找到的所有示例中,我看不出我做错了什么。

这是我的标题:

#import <Foundation/Foundation.h>
#import <AddressBookUI/AddressBookUI.h>
#import <MessageUI/MessageUI.h>
#import "SWO.h"

@interface CustomABPersonViewController : ABPersonViewController
<MFMessageComposeViewControllerDelegate, ABPersonViewControllerDelegate>
{
    SWO *theSWO;
}

- (id)initWithSWO:(SWO *)aSWO;

@end

这是我的实现文件:

#import "CustomABPersonViewController.h"
#import <MessageUI/MessageUI.h>
#import "SWO.h"

@implementation CustomABPersonViewController

- (id)initWithSWO:(SWO *)aSWO
{
    if (self = [super init])
    {
      //Various init code
    }
    return self;
}

- (BOOL)personViewController:(ABPersonViewController *)personView shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)IdentifierForValue
{
    NSLog(@"In here!");
    return YES;
}

@end

这是我在视图中调用的时间:

CustomABPersonViewController *view = [[CustomABPersonViewController alloc] initWithSWO:aSWO];
    view.personViewDelegate = self; 
    view.displayedPerson = aRecord;

    [self.navigationController setToolbarHidden:NO animated:NO];
    [self.navigationController pushViewController:view animated:YES];
4

1 回答 1

0

许多默认操作在模拟器上不起作用。您必须在实际设备上试用它们。

于 2012-09-25T15:26:19.313 回答