1. 真正在任何系统上都有效的方法
1./// 城市选择 private lazy var cityTextfield:UITextField = { let tf = UITextField() tf.delegate = self return tf }() 2. /// 点击城市 @objc func clickCityTextfield(){ self.view.endEditing(true) view.showHud() self.requestForCity(ProtocolFollower: self) } 3. extension JYShopAreaVc : UITextFieldDelegate{ func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { self.clickCityTextfield() return false } }
下面是错误方法
1. 在iOS 11 上没问题, 在iOS10 和iOS9 上 会直接可以编辑 无法跳转
/// 城市选择 private lazy var cityTextfield:UITextField = { let tf = UITextField() //添加手势直接触发 点击效果, 加了不响应 编辑效果, tf.addTarget不行 tf.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(clickCityTextfield))) return tf }()