2013-09-23 4 views
0

Я хотел бы анимировать UIButton, который находится внизу моего UIView, когда клавиатура становится/уходит в отставку. Перед iOS 7 я сделал простую анимацию, которая перемещает кнопку, но теперь анимация клавиатуры не линейна, она начинается быстрее и заканчивается медленнее. Мне сказали сделать это с новой динамикой UIKit, но я не знаю, как я могу достичь своей цели. Любое предложение?UIButton iOS 7 следующая анимация UIKeyboard

Заранее спасибо.

ответ

4

Слушайте уведомления о клавиатуре. Там вы можете получить следующую информацию и соответственно настроить свою кнопку.

UIKeyboardAnimationCurveUserInfoKey Ключ для объекта NSNumber, содержащего константу UIViewAnimationCurve, который определяет, как клавиатура будет анимированный на или с экрана.

Доступен в iOS 3.0 и новее.

Объявлено в UIWindow.h.

UIKeyboardAnimationDurationUserInfoKey Ключ для объекта NSNumber, содержащего двойную, который идентифицирует продолжительность анимации в секундах.

Доступен в iOS 3.0 и новее.

Объявлено в UIWindow.h.

Более подробная информация здесь: https://developer.apple.com/library/ios/documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html#//apple_ref/doc/constant_group/Keyboard_Notification_User_Info_Keys

+0

Спасибо! Работает как шарм! – sergiocg90

0

possible duplicate, another possible duplicate

@Leo: Я пытался использовать эти значения, но они не работали для меня (и другие, которые я видел), поэтому я закончил с этим:

[UIView animateWithDuration:0.5 
         delay:0 
    usingSpringWithDamping:500.0f 
     initialSpringVelocity:0.0f 
        options:UIViewAnimationOptionCurveLinear 
       animations:animBlock 
       completion:completionBlock]; 
+0

Жестко закодированные значения не всегда точны и имеют тенденцию разбиваться между версиями, когда Apple меняет анимацию. –

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