如何从AddressBookUI本地化ABUnknownPersonViewController?

时间:2014-07-16 12:17:50

标签: ios objective-c abaddressbook addressbookui

我尝试在我的应用中使用ABUnknownPersonViewController,但它只是英文版。我认为如果AddressBookUI以系统语言自动显示它会更好。有没有办法用其他语言显示它或者我需要自己创建控制器?

更新:代码

    ABRecordRef aContact = ABPersonCreate();

    ABMutableMultiValueRef phoneNumbers = ABMultiValueCreateMutable(kABMultiStringPropertyType);

    ABMultiValueAddValueAndLabel(phoneNumbers, (__bridge CFStringRef)labelNumber.text, kABPersonPhoneMainLabel, NULL);


    ABRecordSetValue(aContact, kABPersonPhoneProperty, phoneNumbers, nil);

    ABUnknownPersonViewController *picker = [[ABUnknownPersonViewController alloc] init];
    picker.unknownPersonViewDelegate = nil;
    picker.displayedPerson = aContact;
    picker.allowsAddingToAddressBook = YES;
    picker.allowsActions = YES;

    [self.navigationController pushViewController:picker animated:YES];

    [picker release];

    CFRelease(phoneNumbers);
    CFRelease(aContact);

编辑:我忘了在项目本地化中添加语言

1 个答案:

答案 0 :(得分:0)

它以应用程序支持的语言显示,基于用户的首选系统语言。

本地化视图apple使用NSLocalizedString并使用:

    NSArray* preferredLanguages = [NSLocale preferredLanguages];
    NSString* languageCode = preferredLanguages[0];

您可以在第一次使用NSLocalizedString之前更改它,但它无法动态更改。 请注意,它将更改所有NSLocalizedString调用的语言