![](/img/trans.png)
[英]Insert picture image to the ABUnknownPersonViewController view in iPhone application contact page
[英]Iphone ABUnknownPersonViewController using allowsAddingToAddressBook = YES issue
讓我先解釋一下我想做什么。 在“最近”選項卡中的本機Iphone中,如果單擊任何地址簿中未找到的聯系人,則可以選擇“添加到現有聯系人”
點擊“添加到現有聯系人”后,會出現一個選擇器並進行選擇。 然后它會自動將您帶到ABPersonViewController
並允許您編輯或保存新聯系人:
我試圖重新創建這個,但有一些問題。 在我的版本中,在我創建UnknownPersonViewController並且最終用戶按下“添加到現有聯系人”之后,選擇器顯示並允許從類似於本機Iphone的地址簿中進行選擇。 但在進行選擇后,名稱會自動添加到地址簿中,並且沒有personViewController顯示給用戶選擇是否添加聯系人。 即使我可以讓它在做出選擇后不自動寫入地址簿,我也可以讓它立即在編輯模式下顯示personviewcontroller。
所以我的問題是為什么在做出選擇后會自動更新地址簿? 我將ABUnknownpersonviewcontroller推送到UITableviewController導航控制器上。 和我在iOS 6.01的物理設備上進行測試以下是一些代碼:
ABRecordRef person = ABPersonCreate ();
ABMutableMultiValueRef multiValue = ABMultiValueCreateMutable(kABStringPropertyType);
ABMultiValueAddValueAndLabel(multiValue, call.number, kABPersonPhoneMainLabel,
NULL);
ABRecordSetValue(person, kABPersonPhoneProperty, multiValue, error);
if(multiValue) CFRelease(multiValue);
ABUnknownPersonViewController *unknownCtrl = [[ABUnknownPersonViewController alloc] init];
unknownCtrl.displayedPerson = person; //this has a phone number with "main" label
unknownCtrl.allowsActions = YES;
unknownCtrl.allowsAddingToAddressBook = YES;
unknownCtrl.editing=NO;
unknownCtrl.unknownPersonViewDelegate = self;
// unknownCtrl.addressBook=ABAddressBookCreate(); // I tried setting addressbook to nil and object
unknownCtrl.addressBook=nil;
[self setTitle:call.type forUIViewController:unknownCtrl];
[self.navigationController pushViewController:unknownCtrl animated:YES];
注意:我對這篇文章有類似的問題: http : //forums.macrumors.com/archive/index.php/t-1023140.html
也許https://discussions.apple.com/thread/1682620?start=0&tstart=0
更新:似乎我把kABPersonPhoneMainLabel從該人那里,然后它不會將電話號碼寫入聯系人。 我做的是在didResolveToPerson委托中我在編輯模式下調用personviewcontroller。 這模擬了本機行為。 這可以回答我自己的問題,謝謝大家。
ABUnknownPersonViewController
不公開許多自定義選項,您需要實現自己的版本。 這不是太難 - “創建新聯系人”按鈕只是啟動ABNewPersonViewController
,“添加到現有聯系人”啟動ABPeoplePickerNavigationController
。 您的ViewController應該充當這些對象的委托,並控制它們完成后會發生什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.