Вы должны реализовать этот экран вручную.Экран на снимке экрана представляет собой UITableViewController
с сгруппированным UITableView
и индикатором принадлежности для галочки для выбранной ячейки.
Вот список предопределенных ярлыков телефонных номеров (из Документация разработчика Apple)):
╔════════════════════════════╦═════════════════════╗
║ String ║ Description ║
╠════════════════════════════╬═════════════════════╣
║ CNLabelHome ║ Home label ║
║ CNLabelWork ║ Work label ║
║ CNLabelPhoneNumberiPhone ║ iPhone number ║
║ CNLabelPhoneNumberMobile ║ Mobile phone number ║
║ CNLabelPhoneNumberMain ║ Main phone number ║
║ CNLabelPhoneNumberHomeFax ║ Home fax number ║
║ CNLabelPhoneNumberWorkFax ║ Work fax number ║
║ CNLabelPhoneNumberOtherFax ║ Other fax number ║
║ CNLabelPhoneNumberPager ║ Pager phone number ║
╚════════════════════════════╩═════════════════════╝
Чтобы отобразить локализованные имена этих констант, используйте CNLabeledValue.localizedString(forLabel:)
(спасибо, OOPer ):
Swift
let localizedLabelString = CNLabeledValue<NSString>.localizedString(forLabel: CNLabelPhoneNumberiPhone)
print(localizedLabelString) //iPhone
Objective-C
NSString *localizedLabelString = [CNLabeledValue localizedStringForLabel: CNLabelPhoneNumberiPhone];
NSLog(@"%@", localizedLabelString); //iPhone
Если вы хотите создать собственную метку для контакта, просто используйте произвольную строку для имени метки:
let phoneNumber = CNPhoneNumber(stringValue: "+18001234567")
let labeledPhoneNumber = CNLabeledValue(label: "arbitrary string", value: phoneNumber)
contact.phoneNumbers.append(labeledPhoneNumber)