добавить текст метки заголовка кнопки к тексту текстового поля - PullRequest
1 голос
/ 01 февраля 2020

В моем приложении у меня есть кнопка с названием «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()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...