Существует также способ прослушивания системных уведомлений для появления клавиатуры.
В вашем контроллере сделайте это:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
Затем просто реализуйте метод keyboardWillShow: (idотправитель, и у вас будет все, что вам нужно.
Есть еще одно уведомление о том, когда клавиатура исчезает.
Если вам затем нужно спрятать клавиатуру, вам нужно вызвать "resignFirstResponder""на любом объекте, с которым связана данная клавиатура.