Поскольку это первый гугл-хит, я хотел бы отметить, что жесткое кодирование 0.3 будет означать, что ваше представление будет неправильно анимироваться, когда международные пользователи (например, японцы) переключаются между клавиатурами разных размеров (когда это действие быть мгновенным).
Всегда использовать значение UIKeyboardAnimationDurationUserInfoKey из словаря userInfo уведомления - оно устанавливается в 0, когда пользователь перелистывает клавиатуру.