iphone - 处理 ABPersonViewController 内的点击事件

标签 iphone ios abpersonviewcontroller

我正在实现

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier

在我的自定义类中进行委托(delegate),该类是ABPersonViewController的子类。委托(delegate)方法正在捕获 ABPersonViewController 子类内的单击事件。但我怎么知道到底哪个字段被点击了呢?例如。如果我单击家庭地址字段,我将如何在委托(delegate)方法中处理这种情况。

最佳答案

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{
if(property == kABPersonAddressProperty){
    ABMutableMultiValueRef multi = ABRecordCopyValue(person, property);
    CFStringRef address = ABMultiValueCopyValueAtIndex(multi, identifier);
    NSLog(@"Address %@", (NSString *)address);
    // Do your tasks here
    CFRelease(address);
}
return YES;
}

就像kABPersonAddressProperty一样,您可以检查所有其他属性,例如电话号码、电子邮件、网址等。

关于iphone - 处理 ABPersonViewController 内的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10394637/

相关文章:

iphone - 如何更改 entitlements.plist 的路径

iphone - 如何覆盖 ABNewPersonViewController 中的 "Done"按钮

ios - Xcode 8 beta 2/IOS10 beta 2/WatchOS 3 beta 2 - 配对的 Apple Watch 没有符号?

iphone - 如何为Person ViewController的导航栏添加返回按钮?

iphone - iOS 7 iBeacon 需要硬件吗?

ios - 按钮约束 Swift

iphone - UIPickerView 不显示

ios - 始终让iOS应用处于唤醒状态

ios - UIScrollView 损坏并停止使用 OpenGL 渲染滚动(相关 CADisplayLink、NSRunLoop)