2013-06-08 2 views
0

Итак, у меня есть несколько проверок в textFieldDidEndEditing, которые в основном включают или отключают ввод текстового поля, они, похоже, работают нормально.Нажмите кнопку, чтобы изменить текстовое поле, textFieldDidEndEditing не вызывается?

Когда у меня есть IBAction, связанная с кнопкой, которая влияет на значения внутри текстового поля, не вызывает ли textFieldDidEndEditing? Кажется, он реагирует только тогда, когда я нахожусь в наборе textBox.

У меня есть этот метод, который сбрасывает мои текстовые поля, и я хочу запустить textFieldDidEndEditing после него, но не знаю, как передать ему общий текстовый фильтр, поскольку отправитель метода reset не является текстовым полем.

- (IBAction)reset; 
{ 
    txtCost.text = @""; 
    txtPrice.text = @""; 
    txtProfit.text = @""; 
    txtMargin.text = @""; 
    txtMarkup.text = @""; 
    txtTaxPercentage.text = @""; 
    txtTaxAmount.text = @""; 



} 

Спасибо, любые разъяснения или помощь были бы замечательными.

+0

создать IBOutlets для каждого UITextFields, а также делегировать. – user7388

ответ

4

Метод делегата textFieldDidEndEditing не будет вызываться, если вы вручную изменяете текст внутри текстового поля с помощью другого отправителя. Этот метод делегата отвечает на resignFirstResponder, поэтому он никогда не будет запущен в вашем случае.

Что вы можете сделать, это вручную вызвать его, хотя на основе текстового поля, который вы хотите.

[self textFieldDidEndEditing:_yourTextField]; 
+0

Идеальный, имеет смысл. – user1923975

Смежные вопросы