Я играю с написанием своего первого приложения для iphone; SDK 3.0. У меня есть UITextField, и когда текст вводится в это, я хочу получить doubleValue из текстового поля и выполнить некоторые вычисления и отобразить их в UITableView.Почему textFieldDidEndEditing: не называется?
Делегат для UITextField принимает протокол UITextFieldDelegate и реализует методы textFieldShouldReturn: и TextFieldDidEndEditing :. textFieldShouldReturn: отменяет статус первого ответчика, который, согласно документам, должен также запускать textFieldDidEndEditing :, но я никогда не вижу textFieldDidEndEditing: called.
- (BOOL)textFieldShouldReturn:(UITextField*)theTextField {
if (theTextField == thresholdValue) {
[thresholdValue resignFirstResponder];
}
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
[self updateThresholdValue:textField];
}
Может быть, стоит отметить, что я также попытался подключения некоторых из TextField событий делегата и имеющих события вызова updateThresholdValue: непосредственно, но это не сработало.
Поместите некоторые NSLogs, чтобы убедиться, что метод никогда не называется. – mk12
Вы сделали myTextField.delegate = self где-то справа? – mk12
Я предполагаю, что он имеет свой делегат, подключенный правильно, иначе textFieldShouldReturn: тоже не будет вызван. –