2013-07-31 18 views
1

這個問題可能有點過時了,但我一直在使用新的Facebook的iOS的「聊天頭」功能(與聊天頭只存在於應用程序內) ,並想知道Facebook如何實現這一目標?例如。他們是如何處理聊天頭的拖動動畫的,以及(當點擊聊天頭時)他們如何設法在背景中的「基本」UIViews之上覆蓋UITableView?iOS:Facebook聊天頭的行爲和動畫

這是UIKit的所有部分,還是他們創建自己的類來處理這個?

+0

你有沒有更接近這個答案? – StuartM

回答

2

要回答@ StuartM在評論中的問題,在過去的幾個月中,我對UIKit有了更多的經驗,並且我認爲我有一個粗略的想法,即如果我要去實現像這樣的事情去做吧。

我會做的是爲聊天頭,創建一個樣式的UIButton並將其作爲子視圖添加到主窗口。對於拖動,我會添加一個手勢識別器到UIButton來響應拖動,並且「捕捉到邊緣」我會使用iOS 7的新UIKit Dynamics(http://www.raywenderlich.com/50197/uikit-dynamics-tutorial)。至於用聊天記錄顯示UITableView疊加層,我會使用子視圖控制器(https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html#//apple_ref/doc/uid/TP40007457-CH18-SW6),對於彈出的開放式動畫,我只使用默認的UIView動畫,可能使用動畫事務,因爲我是不確定我能用隱式動畫做所有事情嗎?

我認爲應該是這樣。說實話,我認爲任何掌握這些框架的人都應該能夠在他們的iOS應用程序中構建任何東西,並且如果在業餘時間創建一個像示例項目那樣的「聊天頭」,應該給你一個相當深刻的印象瞭解這些框架如何工作。