Apple oferuje ładny, kompleksowy i mały przykład "QuickContacts" (developer.apple.com/library/IOs/samplecode/QuickContacts/Introduction/Intro.html), przedstawiający podstawowe użycie Address Book UI Framework. - Kod źródłowy do pobrania działa zgodnie z opisem (po dodaniu osoby o nazwie "Appleseed" do książki adresowej lub zmianie nazwiska osoby w linii 246 (z QuickContactsViewController.m) na coś, co już istnieje w twojej książce adresowej).iOS7 - ABPersonViewController, tryb edycji
Pytanie: Jak możemy zmodyfikować funkcję funkcja -(void)showPersonViewController
w taki sposób, że ABPersonViewController "picker"
jest już edycji trybie (z widocznym „Gotowe” editingButton), kiedy otwiera (po pchanych na navigationController użytkownika stos).
W wersjach iOS wcześniejszych niż "7", była to prosta sprawa jedynie wstawienia, np. picker.editing = YES;
przed popchnięciem selektora na stos nav, aby zobaczyć go w trybie edycji, po jego otwarciu (patrz poniższy kod).
W systemie iOS7 to już nie działa.
Czy jest to błąd w systemie iOS7, jeśli tak, czy istnieje proste obejście (zamiast np. Inżynieria wsteczna klasy ABPersonViewController
)? - A może trzeba inaczej kodować, w dzisiejszych czasach?
Czekamy na Twoje komentarze.
-(void)showPersonViewController
{
// Search for the person named "Appleseed" in the address book
NSArray *people = (NSArray *)CFBridgingRelease(ABAddressBookCopyPeopleWithName(self.addressBook, CFSTR("Appleseed")));
// Display "Appleseed" information if found in the address book
if ((people != nil) && [people count])
{
ABRecordRef person = (__bridge ABRecordRef)[people objectAtIndex:0];
ABPersonViewController *picker = [[ABPersonViewController alloc] init];
picker.personViewDelegate = self;
picker.displayedPerson = person;
// Allow users to edit the person’s information
picker.allowsEditing = YES;
picker.editing = YES; // in iOS6 this works, in iOS7 it does not
[self.navigationController pushViewController:picker animated:YES];
}
...
...
}
Jest to błąd w iOS 7. Im więcej ludzi, którzy go zgłosić im wyższy priorytet poprawka zostanie przypisany. http://bugreport.apple.com –
@ Tommie C. - Masz rację, Apple potwierdził, że to błąd. - Dzięki za komentarz. – user2831473
To jeszcze nie zostało naprawione wydaje się, że ?? – SAHM