第一個iOS項目

  • 前言
    從Android開發(fā)轉(zhuǎn)入到iOS開發(fā)參與的第一個項目,從處理一個字符串轉(zhuǎn)換問題都要查詢,磕磕絆絆的前進(jìn),到現(xiàn)在可以大致的實現(xiàn)需求中所要求的功能效果。這個過程是對OC的API熟悉的過程。跟之前學(xué)習(xí)Android的套路基本一致。熟能生巧。

  • 項目分析
    項目是一個輕社交類型的資訊項目。里面包含功能大體。

布局瀑布流
類似的IM
分享
第三方推送
圖片效果處理

項目效果圖如下:


首頁.png
資訊.png
圖片內(nèi)容.png
數(shù)據(jù)_1.png
我.png
個人設(shè)置.png
圖片處理.png
  • 布局瀑布流的實現(xiàn)

主要是使用tableview 自定義CELL形式。
以標(biāo)準(zhǔn)的單元格 內(nèi)部構(gòu)建固定的一個ITEM (自定義一個包含內(nèi)容圖片,用戶頭銜,用戶名,提交時間差)。再通過內(nèi)行類型去控制該cell要使用的那種cell模式 一共是四種。每種包含Item的數(shù)量不同。類似S型排布。

  • 類似的IM

通過請求時間固定輪詢的方式。實現(xiàn)一個模擬IM效果。單位控制在5S,用戶沒有在私信聊天頁面內(nèi),是有在外部做一個推送消息機(jī)制。聊天布局頁面采用了第三方的氣泡實現(xiàn)效果,鍵盤內(nèi)還包含有第三方的表情庫。

  • 分享

使用友盟集成的SDK。輕便快捷。只需要熟悉調(diào)用API接口。即可實現(xiàn)。

  • 第三方推送

使用的是個推,在APP端使用時候先注冊key ,上傳開發(fā)和推送證書,服務(wù)器端設(shè)置相關(guān)內(nèi)容,調(diào)用第三方接口,個推再進(jìn)行處理推送過來。

  • 圖片效果處理

使用系統(tǒng)自帶效果處理,使用異步方式實現(xiàn)。

里面內(nèi)部用到的第三放框架解析

第三方框架.jpg
  • HexColors : 顏色處理 @"#be9e81" 轉(zhuǎn)換為對應(yīng)的UICOLOR
  • MLEmoji:自動識別網(wǎng)址、號碼、郵箱、@、#話題#和表情的label
  • JSQSystemSoundPlayer:同下
  • JSQMessagesViewController: 聊天氣泡效果
  • JSBadgeView:可定制的在視圖上顯示徽章的組件(右上角+數(shù)字)
  • SJAvatarBrowser: 圖片點擊顯示放大效果
  • SMS_SDK:短信校驗功能使用
  • libGeXinSdk:個推SDK注冊使用接收
  • TPKeyBOardAvoiding:用于在scrollview中實現(xiàn)自動上滾,避免鍵盤遮蓋住了textfield,textview等控件
  • QiniuSDK: 7牛SDK,用于網(wǎng)絡(luò)云存儲圖片
  • PlaceholderTextView:讓 UITextView 在沒有輸入文字的時候支持填充placeholder(默認(rèn)文字)
  • CLImageEditor:最基本的圖片處理編輯功能。如編輯,濾鏡,顏色調(diào)整,裁剪,旋轉(zhuǎn),色彩曲線功能
  • HPGrowingTextView:實現(xiàn)了增加多行文本和減少文本時輸入框的伸縮和滾動效果
  • PureLayout:提供模板布局
  • VGParallaxHeader:可以實現(xiàn)多種不同表頭效果。包括拉長、放大圖片、變換顏色等
  • NSDate-TimeAgo:IM顯示距離時間組件
  • AGEmojiKeyBoard:對 emoji 表情支持的鍵盤控件
  • AFNetWorking:非常出名受歡迎的一個網(wǎng)絡(luò)庫,再自己封裝一次成為基礎(chǔ)的網(wǎng)絡(luò)請求層
  • MBProgressHUD:toast 提示特效組件
  • MJExtension: JSON 和模型之間最快捷方便的轉(zhuǎn)換組件
  • MJRefresh:下拉上拉刷新集成組件
  • SDWebImage:網(wǎng)絡(luò)圖片處理框架
  • UMSDK:友盟SDK

以上就是所用到的開源框架和組件

  • 還有一些特定的小技巧小功能
  • 頁面數(shù)據(jù)傳遞刷新
    A頁面數(shù)據(jù) B頁面修改 同時改UI顯示 用到block方式
  • H5交互調(diào)用
    js調(diào)用APP本地代碼,和調(diào)用web的JS代碼等

  • 預(yù)編譯文件
    在PCH中加入大量需要預(yù)先編譯的模塊和區(qū)分調(diào)試版和發(fā)布版的控制

  • 貫穿這個APP的單例設(shè)置
    在PCH中聲明,在登錄APP的入口處進(jìn)行初始化。

  • end
    對于初學(xué)者來說,這個已經(jīng)是足夠入門了。
    所用到的技術(shù)和組件框架等都是有很多值得深入學(xué)習(xí)研究的。
    自定義tabbar欄,banner,樣式cell,JS交互,數(shù)據(jù)刷新機(jī)制等等。
    與當(dāng)初做Android對比起來。很多也是細(xì)節(jié)上的交互差異。

PS:有錯誤或者不足之處,歡迎指出。謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,180評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,814評論 25 708
  • 外面工地的攪拌機(jī)混雜著混凝土澆筑的嘈雜聲,在夏天純粹的蟬鳴中顯得格外刺耳。樓頂上的兩個男人叼著煙頭,任它自由的燃燒...
    秋水長天不一色閱讀 151評論 0 1
  • 題記:本篇文章是9月26日晚上收聽羅輯思維公司在得到APP上召開的周度例會的筆記和心得體會,供大家一起交流學(xué)習(xí)。因...
    勇哥在進(jìn)化閱讀 4,093評論 4 5
  • 進(jìn)入商學(xué)院,“格物致知,知行合一”的講座,陳老師讓我知道了其涵義,并讓我明白活在當(dāng)下的意義,這讓我原本動搖的心...
    nancyguoli閱讀 224評論 0 0