Ios 隐藏ABNewPersonViewController中的字段
填写新联系人信息时,我希望向用户显示一个不包含所有默认字段的ABNewPersonViewController。我想不出如何做到这一点。可以隐藏一些字段吗?或者我需要编写自己的视图控制器吗?不,您不能从视图控制器隐藏字段,因为苹果希望在所有iOS应用程序中都保持相同。 因此,对于自定义行为,您必须编写自己的视图控制器并以编程方式添加联系人 有关参考信息,请参见:Ios 隐藏ABNewPersonViewController中的字段,ios,abaddressbook,Ios,Abaddressbook,填写新联系人信息时,我希望向用户显示一个不包含所有默认字段的ABNewPersonViewController。我想不出如何做到这一点。可以隐藏一些字段吗?或者我需要编写自己的视图控制器吗?不,您不能从视图控制器隐藏字段,因为苹果希望在所有iOS应用程序中都保持相同。 因此,对于自定义行为,您必须编写自己的视图控制器并以编程方式添加联系人 有关参考信息,请参见: 您可以通过将displayPerson属性设置为分配的ABRecordRef来设置新联系人最初显示的值。只需将ABRecordRef的
您可以通过将
displayPerson
属性设置为分配的ABRecordRef
来设置新联系人最初显示的值。只需将ABRecordRef
的字段设置为所需的值
例如:
ABNewPersonViewController *newPersonController =
[[ABNewPersonViewController alloc] init];
newPersonController.newPersonViewDelegate = self;
ABRecordRef newPerson = ABPersonCreate();
NSString *number =
[AFEndPoint normalizePhoneAddress:[self.historyParticipant participant].endPointValue ];
CFTypeRef phoneProperty = ABMultiValueCreateMutable(kABStringPropertyType);
if (phoneProperty) {
ABMultiValueRef multi = ABMultiValueCreateMutableCopy(phoneProperty);
if (multi) {
ABMultiValueAddValueAndLabel(
multi,
(__bridge CFStringRef)number,
kABPersonPhoneMobileLabel,
nil);
ABRecordSetValue(newPerson, kABPersonPhoneProperty, multi, nil);
CFRelease(multi);
}
CFRelease(phoneProperty);
}
newPersonController.displayedPerson = newPerson;