当UITextField开始编辑时,如何呈现UIViewController?

时间:2016-01-08 14:43:57

标签: ios uitextfield

我想在用户点击String jsonString = mapper.writeValueAsString(value); 时显示UIViewController,并且不应该开始编辑。这是我的代码:

dateTextField

我检查此func textFieldShouldBeginEditing(textField: UITextField) -> Bool { if textField == dateTextField{ datePicker.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext datePicker.delegate = self self.presentViewController(datePicker, animated: true, completion: nil) return false }else{ return true } } 是否为UITextField,但当我点击另一个dateTextField时,该视图也会显示。为什么呢?

3 个答案:

答案 0 :(得分:0)

试试这个

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    activeField = textField;

    if (activeField == dobTextField ) {
        [activeField resignFirstResponder];
        [self showDatePickerView];
    } else if (activeField == countryTextField)  {

        [activeField resignFirstResponder];
        [self  showCountryPickerView];
    }
}

答案 1 :(得分:0)

  

我检查这个UITextField是否是dateTextField,但是当我点击另一个TextField时,View也会出现。为什么呢?

因为你在if textField == dateTextField{ ==中使用,而你应该使用===,当你检查双方是否是同一个对象时应该使用{/ 1>}

答案 2 :(得分:0)

你可以这样做

func textFieldShouldBeginEditing(textField: RBPTextField) -> Bool {

    if textField === dateTextField {

        self.endEditing(true)
        self.showDatePicker()
        return false
    }
    return true
}