CNLabelPhoneNumber 标签选择器
CNLabelPhoneNumber Label Picker
我一直在寻找这方面的解决方案有一段时间了,但找不到实现它的方法(下面提供的屏幕截图)。
我正在创建一个自定义 ContactsViewController
,它使用 CNContact
框架来实现 CRUD 功能。除了选择 phone 数字标签之外,如何实现它们都很清楚。是否有用于此的选择器视图控制器之类的东西,还是我应该手动实现它?
您应该手动实现该屏幕。屏幕截图上的屏幕是一个 UITableViewController
,带有分组 UITableView
和所选单元格的复选标记附件指示器。
这是预定义 phone 数字标签的列表(来自 the Apple Developer Documentation):
╔════════════════════════════╦═════════════════════╗
║ 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:)
(感谢,):
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)
我一直在寻找这方面的解决方案有一段时间了,但找不到实现它的方法(下面提供的屏幕截图)。
我正在创建一个自定义 ContactsViewController
,它使用 CNContact
框架来实现 CRUD 功能。除了选择 phone 数字标签之外,如何实现它们都很清楚。是否有用于此的选择器视图控制器之类的东西,还是我应该手动实现它?
您应该手动实现该屏幕。屏幕截图上的屏幕是一个 UITableViewController
,带有分组 UITableView
和所选单元格的复选标记附件指示器。
这是预定义 phone 数字标签的列表(来自 the Apple Developer Documentation):
╔════════════════════════════╦═════════════════════╗ ║ 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:)
(感谢,
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)