Я хочу, чтобы пользователь мог нажать на номер телефона и позвонить ему напрямую. У меня есть 3 разных номера для каждого человека (частный, мобильный и рабочий) и 3 разных ярлыка для этого.
Теперь, если я нажимаю на первый или второй ярлык, ничего не происходит, а когда я нажимаю на третий ярлык (работа), он вызывает действие с первого ярлыка (личное).
поэтому мой первый вопрос : Что я сделал не так, что он не распознает отправителя, которого я нажал?
второй вопрос : Что мне нужно написать в функции didTapPhoneNumber в качестве оператора if?
phoneNumberPrivate2.isUserInteractionEnabled = true
phoneNumberMobile2.isUserInteractionEnabled = true
phoneNumberWork2.isUserInteractionEnabled = true
let tap = UITapGestureRecognizer(target: self, action: #selector(self.didTapPhoneNumber(_:)))
tap.numberOfTapsRequired = 1
tap.numberOfTouchesRequired = 1
phoneNumberPrivate2.addGestureRecognizer(tap)
phoneNumberMobile2.addGestureRecognizer(tap)
phoneNumberWork2.addGestureRecognizer(tap)
}
//call me maybe
@objc func didTapPhoneNumber(_ sender: UITapGestureRecognizer) {
print("success")
let privateCall = phoneNumberPrivate2.text?.replacingOccurrences(of: " ", with: "", options: .literal, range: nil)
let mobileCall = phoneNumberMobile2.text?.replacingOccurrences(of: " ", with: "", options: .literal, range: nil)
let workCall = phoneNumberWork2.text?.replacingOccurrences(of: " ", with: "", options: .literal, range: nil)
if sender == phoneNumberPrivate2 {
print("you tapped label \(self.phoneNumberPrivate2)")
if let url = URL(string: "tel://\(String(describing: privateCall))") {
UIApplication.shared.openURL(url)
}
} else if sender == phoneNumberMobile2 {
print("you tapped label \(self.phoneNumberMobile2)")
if let url = URL(string: "tel://\(String(describing: mobileCall))") {
UIApplication.shared.openURL(url)
}
} else if sender == phoneNumberWork2 {
print("you tapped label \(self.phoneNumberWork2)")
if let url = URL(string: "tel://\(String(describing: workCall))") {
UIApplication.shared.openURL(url)
}
} else {
print("action failed")
}
}