前段時間我記得看到一些那種定義iPhone上的鍵盤的動畫速度的恆定,我不能爲我的生活記得在那裏我看到它....任何見解?什麼是iPhone的默認鍵盤動畫速率?
回答
- (NSTimeInterval)keyboardAnimationDurationForNotification:(NSNotification*)notification
{
NSDictionary* info = [notification userInfo];
NSValue* value = [info objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval duration = 0;
[value getValue:&duration];
return duration;
}
如果您來這裏尋找答案的MonoTouch,那沒有比'e.AnimationDuration'。 – 2013-08-27 20:12:00
請注意,確切地說,您還應該調整其他動畫鍵,例如'UIKeyboardAnimationCurveUserInfoKey'。 – Rick 2013-11-26 23:16:26
@丹,我是一個MonoTouch用戶,但什麼是'e'? – 2014-04-16 19:02:48
UIKeyboardAnimationDurationUserInfoKey 爲包含標識以秒爲動畫的持續時間的雙一個NSValue對象的鍵。
嘿伴侶,是在通知的用戶信息的字典的關鍵UIKeyboardAnimationDurationUserInfoKey ???? -thx – ShortCircuit 2009-09-14 04:21:52
由於這是第一款谷歌命中,我想指出的是硬編碼0.3將意味着你的看法將不正確時動畫國際用戶不同尺寸鍵盤之間(如日本)掉期(時該行動應該是即時的)。
始終使用通知的用戶信息字典的UIKeyboardAnimationDurationUserInfoKey值 - 它被當用戶通過鍵盤輕彈設置爲0。
注意:在撰寫本文時(iOS 5.1.1),默認持續時間現在爲0.25秒。所以就像@greenlight所說,永遠不要硬編碼 - 使用通知的userInfo字典中的數據。 – 2012-05-24 13:56:28
要添加多到什麼長毛青蛙寫了一點。全面實施會是這樣的:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardMovement:)
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardMovement:)
name:UIKeyboardWillHideNotification
object:nil];
-(void)keyboardMovement:(NSNotification *)notification{
if (_numericKeyboardShowing == false){
[UIView animateWithDuration:[self keyboardAnimationDurationForNotification:notification] delay:0
options:UIViewAnimationCurveEaseInOut
animations:^ {
self.bottomContainerView.center = CGPointMake(self.bottomContainerView.center.x, (self.bottomContainerView.center.y - 218));
}
completion:NULL];
_numericKeyboardShowing = true;
}
else{
[UIView animateWithDuration:[self keyboardAnimationDurationForNotification:notification] delay:0
options:UIViewAnimationCurveLinear
animations:^ {
self.bottomContainerView.center = CGPointMake(self.bottomContainerView.center.x, (self.bottomContainerView.center.y + 218));
}
completion:NULL];
_numericKeyboardShowing = false;
}
- (NSTimeInterval)keyboardAnimationDurationForNotification:(NSNotification *)notification
{
NSDictionary *info = [notification userInfo];
NSValue* value = [info objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval duration = 0;
[value getValue:&duration];
return duration;
}
UIKeyboardAnimationDurationUserInfoKey現在是一個NSNumber的對象,這使得代碼更短。
- (void)keyboardWillShowNotification:(NSNotification *)notification
{
NSDictionary *info = [notification userInfo];
NSNumber *number = [info objectForKey:UIKeyboardAnimationDurationUserInfoKey];
double duration = [number doubleValue];
}
一襯墊:'雙持續時間= [notification.userInfo [UIKeyboardAnimationDurationUserInfoKey]的doubleValue];' – 2015-08-05 06:26:07
在斯威夫特你的代碼看起來就像這樣:
let keyboardSize: CGSize = userInfo[UIKeyboardFrameBeginUserInfoKey]!.CGRectValue.size
let animationDuration = ((userInfo[UIKeyboardAnimationDurationUserInfoKey]) as! NSNumber).floatValue
let animationOptions = ((userInfo[UIKeyboardAnimationCurveUserInfoKey]) as! NSNumber).unsignedLongValue
UIView.animateWithDuration(NSTimeInterval(animationDuration), delay: 0,
options: UIViewAnimationOptions(rawValue: animationOptions),
animations: {() -> Void in
self.view.frame.origin.y += keyboardSize.height
},
completion: nil)
斯威夫特4 - 爲我工作:
if let duration = notification.userInfo?[UIKeyboardAnimationDurationUserInfoKey] as? Double {
UIView.animate(withDuration: duration, animations: {
self.view.layoutIfNeeded()
})
}
在調試模式下我duration
是3.499999
- 1. 什麼是默認幀速率cocos2dx
- 2. 默認iPhone數字鍵盤
- 3. 什麼是iPhone的鍵盤替代品?
- 4. 默認鍵盤出現在iPhone而不是我的自定義鍵盤
- 5. Mac上的PyCharm文件頂部的默認鍵盤快捷鍵是什麼?
- 6. 什麼是從Firefox內部打開Selenium IDE的默認鍵盤快捷鍵
- 7. 什麼是d3默認鍵功能?
- 8. Bosun指標率 - 什麼是「自動」或默認值?
- 9. 更改默認鍵盤android
- 10. 數字鍵盤默認
- 11. android默認鍵盤佈局
- 12. 什麼是默認的MaxPoolSize?
- 13. 什麼是默認的TransformerFactory?
- 14. 加速iPhone動畫
- 15. 什麼是Java浮動默認精度
- 16. 如何彈出默認iphone鍵盤上的按鈕點擊
- 17. 防止iPhone的默認鍵盤聚焦在<input>
- 18. 如何在iPhone的默認鍵盤上添加一個按鈕?
- 19. Eclipse - 默認鍵盤快捷鍵列表
- 20. 什麼是鍵盤事件
- 21. iOS Sprite動畫幀速率
- 22. 「默認」動畫後
- 23. 什麼是Windows mobile6.5專業設備的默認分辨率
- 24. 爲什麼iOS默認不支持自動鍵盤解除功能?
- 25. 獲取電子郵件鍵盤而不是iPhone設備上的內容可編輯div的默認鍵盤
- 26. 爲什麼不是默認
- 27. UnityContainer:什麼是默認lifetimemanager
- 28. 什麼是Page.ResponseEncoding默認值?
- 29. 什麼是GOMAXPROCS默認值
- 30. 什麼是AdMob默認ID?
它總是0.3 ! :P – 2009-09-14 00:49:51
鍵盤風格和旋轉行爲在2.2.1和3.0之間變化;誰說他們不會在更高版本中更改動畫速率? – rpetrich 2009-09-15 21:14:45
一個更好的答案,這可以在http://stackoverflow.com/a/19235995/39946它提供了正確的時間和正確的animtation曲線上找到。 – 2013-12-06 13:39:52