Я возвращаю данные из secondVC в firstVC и показываю их в текстовом поле.
Мой ВК - это FirstVC с текстовым полем, а второй - с кнопкой.
Поток моего VC - это когда пользователь нажимает на текстовое поле (здесь вызывается действие текстового поля Editing Did Begin), затем открывается второй VC. И затем, когда кнопка нажимает на secondVC, затем возвращается к firstVC с некоторыми данными, и данные будут отображаться в том же текстовом поле.
Так что все вышеперечисленное работает нормально.
Теперь я хочу, чтобы второй раз, когда я снова щелкнул по текстовому полю (теперь текстовое поле содержит некоторые данные), чтобы затем снова перейти к secondVC.
Проблема в том, что теперь текстовое поле содержит данные. Когда я нажимаю на нее, она не работает из-за свойства действия кнопки Editing Did Begin.
Как с этим справиться?
Ниже мой код,
Первый ВК
import UIKit
class firstViewController: UIViewController, UITextFieldDelegate, MyProtocol {
var valueSentFromSecondViewController : String?
@IBOutlet weak var myTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func myTextFieldACTIONWhenEditingDidBegin(_ sender: Any) {
myTextField.isUserInteractionEnabled = false
let secondVC = self.storyboard?.instantiateViewController(withIdentifier: "secondViewController") as! secondViewController
secondVC.delegate = self
self.navigationController?.pushViewController(secondVC, animated: true)
}
func setResultsAfterEvaluation(valueSent: String) {
self.valueSentFromSecondViewController = valueSent
print(valueSentFromSecondViewController!)
myTextField.text = valueSent
//print(valueSent)
}
}
Второй ВК
import UIKit
protocol MyProtocol {
func setResultsAfterEvaluation(valueSent: String)
}
class secondViewController: UIViewController {
var delegate : MyProtocol?
var sentValue : String?
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func btn(_ sender: Any) {
sentValue = "Ahtazaz"
delegate?.setResultsAfterEvaluation(valueSent: sentValue!)
self.navigationController?.popViewController(animated: true)
}
}