在這裏總結一下自己平時開發即時通訊類App常用的控件,以供大家參考。
本文出自我的大學同學之手,發佈到此,希望對大家有用!
新浪微博@安靜只是1種表達
微信公衆號lishichaosaid
1、聊天列表
SWTableViewCell: https://github.com/CEWendel/SWTableViewCell.git
正常情況下隱藏右側按鈕的,向左滑動顯示cell右側的按鈕(類似於iOS 7郵件應用程序)。微信應用:聊天列表向左滑動,顯示標記未讀,刪除消息按鈕。
2、文字消息
M80AttributedLabel: https://github.com/xiangwangfeng/M80AttributedLabel.git
文字內容的消息可以使用M80AttributedLabel,實現文字與表情的混排。一般使用氣泡作爲背景。
3、語音
VoiceConvert: http://code4app.com/ios/邊錄音邊轉碼/521c65d56803fab864000001
iPhone設備錄音爲WAV格式,WAV格式文件太大,不便於傳輸。使用VoiceConvert可以將WAV轉化爲amr格式文件進行傳輸,文件大小被壓縮到之前文件的10倍左右。當接受方接受消息後需將amr文件轉化爲WAV文件,進行播放。注:筆者實現語音功能時,使用的是VoiceConvert,而微信不是。
4、聊天文字輸入框
HPGrowingTextView:https://github.com/yatinsns/HPGrowingTextView.git
聊天輸入文字,可以根據輸入文字的多少自動改變輸入框的高度。
5、微信右上角的+點擊展示列表效果
DXPopover:https://github.com/xiekw2010/DXPopover.git
感覺微信的效果點擊+號,展示列表,使用的就是frame的縮小動畫。筆者推薦的效果一定比微信的效果要好。
6、UUID、手勢密碼的存儲
SSKeychain:https://github.com/soffes/sskeychain.git
:使用keychain存儲關鍵數據,eg:UUID、手勢密碼等。當刷機、升級系統或者卸載應用時,UUID或手勢密碼依舊還保存。蘋果推薦使用KeychainItemWrapper,但實際開發中並不是很好。筆者建議使用SSKeychain,方便易用。
7、廣告自動輪播
HYBLoopScrollView:https://github.com/CoderJackyHuang/HYBLoopScrollView.git
實現自動循環滾動,一般用於展示廣告頁。微信在貼紙宣傳處就使用了輪播。
8、數據庫
FMDB:https://github.com/ccgus/fmdb.git
FMDB如此強大,啥也不說了。
9、圖片瀏覽器
MWPhotoBrowser:https://github.com/mwaterfall/MWPhotoBrowser.git
圖片瀏覽器,微信朋友圈點擊小圖,查看大圖的效果。
10、Tinder、探探等翻牌子
MDCSwipeToChooseView:https://github.com/modocache/MDCSwipeToChoose.git
Tinder、探探等翻牌子效果
11、刷新
MJRefresh:https://github.com/CoderMJLee/MJRefresh.git
MJRefresh有李明傑大神的開源之作,其他的自不用說。不過筆者根據基於MJRefresh重新定製了一個可以修改顏色的loading菊花(https://github.com/jiulin/MJRefresh.git)
13、網絡
AFNetworking: https://github.com/AFNetworking/AFNetworking.git