創建和 iOS Keyboard 精確同步的動畫

2014-06-01 18:38:32 +08:00
 Elethom
The Devil is in the detail.

可以從中看出 app 的作者是否用心的一個小細節. 例如同樣出自騰訊的兩枚 IM 應用, 微信的鍵盤彈出動畫就是同步的, 而 QQ 不是.

http://blog.projectrhinestone.org/ios-keyboard-animation-syncing/

有兩個重點:
1. 所有參數都要動態獲取, 包括鍵盤 frame 變化前後所占高度 (可以通過查看 view hierarchy 發現鍵盤是在 screen 上的, 再據此計算出所占高度) 和動畫的參數;
2. 在動畫開始之前也要先設置好 frame 並將 begin from current state 設為 NO, 避免因某些原因起始位置和鍵盤不同導致動畫參數相同而實際效果不同.
2400 次点击
所在节点    iDev
1 条回复
yautou
2014-06-01 22:46:12 +08:00
前几天自己实现这个,也发现了他俩不一致。但我觉得微信是用的iputAccessoryView,由系统来做动画,而手Q是自己代码来的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/115304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX