Прежде всего, просто чтобы уточнить: вы должны подключить делегат текстового поля к владельцу файла, а не делегат владельца файла к текстовому полю. Это может показаться странным, но вы можете легко проверить это, выбрав текстовое поле в Интерфейсном Разработчике и проверив, что его «делегирующие» точки подключения находятся у владельца файла.
Далее, что произойдет, если вы уберете оператор if
в своем коде? Свяжите делегата текстового поля с владельцем файла, а затем измените код на:
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
[theTextField resignFirstResponder];
return YES;
}
должен дать желаемый результат.
Если это все еще не работает, убедитесь, что класс владельца файла совпадает с классом, в котором реализован этот метод. Например, если код находится в RootViewController.m, то вы хотите указать, что файл owner - это экземпляр RootViewController в Интерфейсном Разработчике.