【问题标题】:ABAddressBook filtered contactsABAddressBook 过滤的联系人
【发布时间】:2010-07-01 08:14:40
【问题描述】:

我想在 ABPeoplePickerNavigationController 中显示过滤后的联系人列表,应该显示有电子邮件地址的人,而没有电子邮件地址的人不应该在列表中,有人知道怎么做吗?

提前致谢。

【问题讨论】:

    标签: iphone email abaddressbook


    【解决方案1】:

    您好,您可以使用 peoplePickerNavigationController 委托来执行此操作

    -(BOOL)peoplePickerNavigationController:
    (ABPeoplePickerNavigationController *)peoplePicker
    shouldContinueAfterSelectingPerson:(ABRecordRef)person
     {
        if(!ABRecordCopyValue(person,kABPersonEmailProperty) //Check if email field is empty
        { 
             [peoplePicker dismissModalViewControllerAnimated:NO]; //dismiss the person with email field empty
        } 
        return YES;
        }
    }
    

    不要忘记在您的界面上添加代理,并在 .h 文件中添加标签

    即,

    #import <UIKit/UIKit.h>
    #import <AddressBook/AddressBook.h>
    #import <AddressBookUI/AddressBookUI.h>
    
    @interface ViewController : UITableViewController<ABNewPersonViewControllerDelegate,ABPeoplePickerNavigationControllerDelegate,ABPersonViewControllerDelegate,UIAlertViewDelegate>
    

    【讨论】:

      【解决方案2】:

      您可以以与电子邮件地址相同的方式使用以下链接。 Can't set the addressBook property of ABPeoplePickerNavigationController without crashing

      唯一的问题是导致失败的 ABAddressBookRemoveRecord。

      如果我是你,我会遍历所有联系人,使用电子邮件地址获取联系人的姓名,然后获取电子邮件地址。然后将它们放在 TableView 中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-10
        • 1970-01-01
        • 2011-09-02
        相关资源
        最近更新 更多