В моем приложении у меня есть кнопка с названием «IN +91», которая будет изменяться в зависимости от выбора кода страны, когда эта кнопка будет нажата, появится всплывающее окно, и в зависимости от выбранной страны будет отображаться название кода страны. и числа как +91, +255 и т. д. c. теперь рядом с моей кнопкой у меня есть текстовое поле, которое при щелчке открывает средство выбора контактов, когда контакт выбран, он отображает этот номер контакта в текстовом поле. Я хочу это, например, если метка заголовка кнопки IN +91, тогда я хочу, чтобы +91 был добавлен к номеру контакта, отображаемому в текстовом поле. как мне этого добиться
Мой код для установки номера контакта в текстовое поле и установки кода страны для заголовка кнопки:
// Для кода выбора контакта
extension NeighbourDetailsVC: CNContactPickerDelegate
{
func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact)
{
let phoneNumbersCount = contact.phoneNumbers.count
guard phoneNumbersCount > 0 else
{
dismiss(animated: true)
let alertController = UIAlertController(title: "Select contact doesn't have a number", message: nil, preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .destructive, handler: {
alert -> Void in
})
alertController.addAction(cancelAction)
return
}
if phoneNumbersCount == 1
{
setNumberFromContact(contactNumber: contact.phoneNumbers[0].value.stringValue)
}
else
{
let alertController = UIAlertController(title: "Select one of the numbers", message: nil, preferredStyle: .alert)
for i in 0...phoneNumbersCount-1 {
let phoneAction = UIAlertAction(title: contact.phoneNumbers[i].value.stringValue, style: .default, handler: {
alert -> Void in
self.setNumberFromContact(contactNumber: contact.phoneNumbers[i].value.stringValue)
})
alertController.addAction(phoneAction)
}
let cancelAction = UIAlertAction(title: "Cancel", style: .destructive, handler: {
alert -> Void in
})
alertController.addAction(cancelAction)
dismiss(animated: true)
self.present(alertController, animated: true, completion: nil)
}
}
func setNumberFromContact(contactNumber: String)
{
var contactNumber = contactNumber.replacingOccurrences(of: "-", with: "")
contactNumber = contactNumber.replacingOccurrences(of: "(", with: "").replacingOccurrences(of: ")", with: "")
contactNumber = contactNumber.replacingOccurrences(of: " ", with: "")
guard contactNumber.count >= 10 else
{
dismiss(animated: true)
print("selected contact doesn't have a valid number")
return
}
self.mobileTxtField.text = String(contactNumber.suffix(10))
}
}
// для настройки заголовка кнопки
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
select_code = c_code[indexPath.row]
select_c_s_name = key[indexPath.row]
self.countryCodeBtn.setTitle(select_c_s_name+" +"+select_code, for: .normal)
self.get_country_data()
}