为啥我的 ABPersonViewController 没有显示所有属性?

Posted

技术标签:

【中文标题】为啥我的 ABPersonViewController 没有显示所有属性?【英文标题】:Why my ABPersonViewController not showing all the properties?为什么我的 ABPersonViewController 没有显示所有属性? 【发布时间】:2010-01-10 10:59:06 【问题描述】:

为什么我的 ABPersonViewController 没有显示所有属性?目前它只显示电话号码属性。它不是电子邮件 ID、地址、出生日期和其他信息。我的联系人有所有这些信息。电话簿/联系人的 ABPersonViewController 如何显示所有这些信息?以及如何在我的 ABPersonViewController 中获得“短信”、“分享联系人”和“添加到收藏夹”按钮?

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

根据the ABPersonViewController reference,可以将控制器的displayedProperties属性设置为NSArray

尝试设置它,例如到

[NSArray arrayWithObjects:kABPersonEmailProperty,kABPersonBirthdayProperty,nil];

从the available properties list 设置您想要的任何属性。

【讨论】:

好吧,亚当感谢您的回复。你是对的。每当您将属性设置为 ABPersonViewController 时,它只会向用户显示这些属性。我调查了我的代码,发现我只为控制器设置了“phone”num 属性。 P.S:默认情况下,ABPersonViewController 会向用户显示所有属性。 当然。您知道如何在 ABPersonViewController 中显示“短信”、“分享联系人”和“添加到收藏夹”按钮吗? 要显示“文本消息”按钮,您必须将 ABUnknownPersonViewController 的“allowsActions”属性设置为“是”。要显示“添加到现有联系人”按钮(如果这是您的意思),您必须将allowAddingToAddressBook 属性设置为YES。现在我知道您正在使用 ABPersonViewController 而不是“未知”控制器,但也许这可以为您指明正确的方向。【参考方案2】:
 ABPersonViewController *abpvc=[[ABPersonViewController alloc]init];
 abpvc.allowsActions=YES;

它在模拟器中显示 Send Messageadd To favorites 按钮对我很有用。

【讨论】:

以上是关于为啥我的 ABPersonViewController 没有显示所有属性?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 PHP 会话会死掉?为啥我不能恢复它们?

为啥我的碰撞测试总是返回“真”,为啥图像矩形的位置总是错误的 (0, 0)?

NPM 启动错误上的 ENOENT。为啥我会收到此错误,为啥要查找“我的图片”目录?

为啥 main 前面有一个 int ,为啥我的教授会排除它? [复制]

为啥我的 Entity Framework Code First 代理集合为空,为啥我不能设置它?

为啥我的 UISearchController 很慢?