1. 程式人生 > >iOS超全開源框架、專案和學習資料彙總(1)UI篇

iOS超全開源框架、專案和學習資料彙總(1)UI篇

上下拉重新整理控制元件

**1. ** --僅需一行程式碼就可以為UITableView或者CollectionView加上下拉重新整理或者上拉重新整理功能。可以自定義上下拉重新整理的文字說明。(推薦)
**2. ** --下拉重新整理控制元件4500+star,值得信賴
**3. ** --一個效果很酷炫的下拉重新整理控制元件3600+star
**4. ** --一個下拉重新整理打磚塊的開源 Swift 庫,能讓使用者在等待下拉重新整理的時候邊玩撞球遊戲邊等待2000star
**5. ** --實現彈性物理效果的下拉重新整理,神奇的貝塞爾曲線,配合UIDynamic寫的一個擬物的下拉重新整理動畫
**6. ** --類似於Yahoo Weather和News Digest首屏的視差滾動
**7. ** --簡單易用的上拉和下拉重新整理(多版本細節適配)
**8. ** --swift,上拉和下拉重新整理2000star
**9. ** --swift,上拉和下拉重新整理800star
**10. ** --一個可展開可收縮的下拉選單,類似Svpply app
**11. ** --原iOS6上的橡皮糖重新整理樣式,很有意思。現在也很多大的 App 在用,比如蝦米音樂和 QQ 客戶端。
**12. ** --自定義下拉重新整理的動畫效果:煮飯, Yalantis新作!
--Twitter iOS客戶端的下拉封面模糊效果
**15. ** --Replace-iOS 讓人眼前一亮的下拉重新整理(iOS)
**16. ** --使用的時候只要兩行程式碼。一些動畫的飛機稿,都是一些單獨分離出來的用於測試的子動畫

模糊效果

**1. ** --支援iOS5.0以上版本,支援靜態、動態模糊效果,繼承與UIView的模糊特效4600+star(推薦)。
**2. ** --很簡單易用的在原來viewConntroller基礎上做模糊,然後present新的viewController的,王巍的作品
**3. ** -- 通過模糊背景來著重強調與選單相關的元素–對話方塊
**4. ** --支援漸變動畫效果的影象模糊化類庫

AutoLayout

**1. ** --Masonry是一個輕量級的佈局框架,擁有自己的描述語法,採用更優雅的鏈式語法封裝自動佈局,簡潔明瞭並具有高可讀性 13000+star(吐血推薦)
**2. ** -- Snap是Masonry Auto Layout DSL的Swift版本,是一款輕量級的佈局框架,使用了更良好的語法封裝了AutoLayout。Snap支援iOS和OS X
**3. ** --適用於iOS和OS X自動佈局簡單、強大5900+star
**4. ** --swift,AutoLayout 進階 Demo,寬高比約束、比例約束、不等約束、視差約束、低優先順序約束等高階用法,無需寫碼即可進行復雜頁面佈局,Demo 還動態模擬了各螢幕下的效果。來自百度知道 iOS 小組的內部分享。

富文字

**1. ** --一個文字檢視開源元件,是UILabel的替代元件,可以以簡單的方式展現渲染的屬性字串。另外,還支援連結植入,不管是手動還是使用UIDataDetectorTypes自動把電話號碼、事件、地址以及其他資訊變成連結,6800+star(推薦)
**2. ** --TYAttributedLabel 簡單,強大的屬性文字控制元件(無需瞭解CoreText),支援圖文混排顯示,支援新增連結,image和UIView控制元件,支援自定義排版顯示
**3. ** --RTLabel的工作方式類似的UILabel,但支援富文字顯示類似HTML的標記。
**4. ** --富文字檢視控制元件,用來顯示錶情,URL 等。
**5. ** --自動識別網址、號碼、郵箱、@、#話題#和表情的label。 可以自定義自己的表情識別正則,和對應的表情影象。(預設是識別微信的表情符號),繼承自TTTAttributedLabel,所以可以像label一樣使用。 label的特性全都有,使用起來更友好更方便。
**6. ** -- FXLabel是一個功能強大使用簡單的類庫,通過提供一個子類改進了標準的UILabel元件,為字型增加了陰影、內陰影和漸變色等,可以被用在任何標準的UILabel中。FXLabel還提供了更多控制元件,可以對字型行距、字型間距等進行調整。
**7. ** --BlingBling閃光效果,酷炫的Label的效果,可以用於載入等待提示,一個簡單的方法來新增這樣的效果在一個iOS應用任何檢視,faceBook出品,7100+star
**8. ** -- 適用於iOS的富文字WYSIWYG編輯器,支援語法高亮和原始碼檢視。ZSSRichTextEditor包含所有WYSIWYG標準的編輯器工具
**9. ** -- swift,一套可定製富文字編輯器元件及示例。功能完整、程式碼簡練、實現邏輯巧妙(編輯器核心與 WebView 結合,採用 HTML5 contentEditable 編輯模式,執行JS 配套命令 execCommand 實現富文字編輯功能)。
**10. ** -- 可以解析HTML與CSS最終用CoreText繪製出來,通常用於在一些需要顯示富文字的場景下代替低效能的UIWebView。
**11. ** -- 顯示Markdown的TextView
**12. ** -- 帶固定文字的輸入元件
**13. ** -- swift 能夠實現文字變形動畫效果的Label,用Swift寫的一個能夠實現文字變形動畫效果的Label,很炫
**14. ** -- 顯示效能數量級 UILabel 的 AttributedLabel。無畏無懼、挑戰權威
**15. ** -- 自動檢測 URLs, @username, #topic# 等關鏈詞(提供響應擴充套件),實用的標籤文字小元件(國產)
**16. ** --漸變的文字

圖表

**1. ** -- 國內開源作者,動態的圖表,7500+star(推薦)
**2. ** -- 功能完整、實用的折線圖元件。使用方便,引數配置簡單。是不可多得的優質元件–swift
**3. ** -- 一款優秀 Android 圖表開源庫 MPAndroidChart 的 Swift 語言實現版(支援 Objective-C 和 Swift 呼叫)。預設提供的示例程式碼為 Objective-C
**4. ** -- xhacker/TEAChart 一個簡潔的 iOS 圖表庫,支援柱狀圖、餅圖以及日曆等)
**5. ** -- 支援在watchOS上繪製圖表,可以關注一下

表格相關

**1. ** -- 王巍開源作品,帶很多手勢的表單元格。
**2. ** -- 帶很多手勢的表單元格,2000+star
**3. ** -- 瀑布流。
**4. ** -- 很多表格類的table,寫法更高冷一點,推薦使用
**5. ** -- 可以十分方便地生成各種樣式、各種功能的TableView。只要開發者能想到的列表效果或者功能,都可以利用這份程式碼迅速編寫出來。比如,之前要實現一個填寫各種資料的列表,可能需要很多程式碼,現在只需要幾行程式碼就可以實現。
**6. ** Chats -- 聊天 UI 示例程式。此專案應該只為演示或學習之用,沒有伺服器 — swift。
**7. ** -- UUChatTableView 氣泡聊天介面,支援文字、圖片以及音訊的氣泡聊天介面。原始碼推薦說明
**8. ** -- 快速在iOS裡整合聊天功能,類似開源版本的環信。Layer家開源了一套聊天app介面的解決方案.看起來很贊,很多蠻複雜的東西直接都幫封好了。不得不說現在做app開發真是很簡單,大部分時間搭積木就可以了
**9. ** -- 簡潔快速的頁面切換–MBXPageViewController,帶有按鈕控制元件的UIPageController,非常整潔、簡單以及快速。該專案通過三種形式展示頁面之間的切換,比如導航欄上的多個tab切換、頁面左右兩端箭頭指示切換,以及使用分段控制元件。
**10. ** -- UIScrollView實現滑動轉換頁面,類似網易雲音樂iOS版的頁面滑動切換效果
**11. ** -- 頭部多個tab滑動切換
**12. ** -- swift,通過編輯 Bezier 曲線四點位置設定 TableView 內 Cell 及對應按扭位置。實驗效果很贊
**13. ** -- 一個TabBar元件,可以方便設定底部選單的文字圖片,點選效果,小紅點提示等。
**14. ** -- UITableView-FDTemplateLayoutCell 是一個方便快取 UITableViewCell 的高度的框架。
**15. ** -- 根據產品需求開源了一個互動專案,可以理解為橫向Section的TableView,section和cell同時支援拖拽
**16. ** -- 多功能導航控制器,可以透明返回欄
17. ** – 基於 UITableView 的快速重排功能擴充套件子類。通過長按選定單元格然後滾動移動到指定位置
** 18. Eureka
一個很棒的表單庫@xiAo__Ju推薦的

隱藏與顯示

**1. ** – 滾動欄選單,向上滾動時隱藏tabbar,向下滾動馬上顯示tabbar。
**2. ** – 可摺疊Tab Bar和Tab Bar Controller。
**3. ** – LTNavigationBar為app導航欄新增動態著色效果,可自定義其背景色。Demo包含:1.變換背景色;2.滾動檢視,導航欄和狀態列重疊。
**4. ** – 固定Header的效果庫。。

HUD與Toast

**1. ** – 最多人用的loading。
**2. ** – SVProgressHUD的loading,如果你需要定製化的等待提示器,這個就是了(也許是最好的)。。
**3. ** – ProgressHUD的loading,使用最簡單。
**4. ** – 設定HUD出現和消失的方式(包括上下、左右、淡入淡出、放大縮小等等),設定HUD的內容(可以在HUD中加入幀動畫、動態圖片等等),設定HUD出現時的底部覆蓋層顏色,等等。總而言之,這是一份集大成的HUD程式碼。慢慢看視訊吧,囊括了所有效果。
**4. ** **WSProgressHUD **– 一個小巧精緻的HUD,支援新增到自定義View上, 還有更多小細節

對話方塊/彈出框

**1. ** – 自定義的對話方塊。
**2. ** – IOS7AlertView的對話方塊。
**3. ** – 動畫效果不錯,最多star,但不支援arm64。
**4. ** – 扁平化的樣式不錯。
**5. ** – 一個簡易的alertview 有三種樣式,有成功,失敗,和警告三種樣式,支援Delegate和block兩種回撥。
**5. ** – 實現彈出檢視的各種彈出和消失效果,包括淡入淡出(fade in,fade out),從螢幕上方飛進,下方飛出,從螢幕左方飛進,右方飛出等等效果,彈窗。
**7. ** – 彈出提示框類及演示示例。同樣地,API 簡單、易用。好“輪子”,彈窗。
**8. ** – kxmenu彈出選單,點選檢視上任意位置的按鈕,會彈出一個選單,並且有個小箭頭指向點選的按鈕,類似氣泡檢視。彈出的選單位置會根據按鈕的位置來進行調整。
**9. ** – QBPopupMenu彈出選單,實現類似 UIMenuItem 的彈出選單按鈕。點選按鈕,會彈出一個選單,上面可以排列多個按鈕。純程式碼實現,不需要任何圖片。
**10. ** – 彈出檢視(通知,提示,選擇,視窗)。
**11. ** – TAOverlay可通過疊加層展示有用的資訊,可自定義文字和背景色,新增陰影和模糊效果,以及更改字型大小或者用自定義圖片替換頁面上的icon。
**12. ** – 通過模糊背景來著重強調與選單相關的元素–模糊效果 裡面已經收藏。
**13. ** – 該專案是此前熱門專案ActionSheetPicker的新版本,快速複製了iOS 8上的下拉 UIPickerView/ActionSheet功能。
**14. ** – 3D效果轉場效果警示圖–MJAlertView。
**15. ** – 輕量、易用的小清新彈出列表及資訊提示元件真心不錯。

其他UI

AwesomeMenu – 最多人用的Path選單。
DCPathButton – Path,4.0的彈出選單,撥出或者關閉選單時,多個小圖示會分別按照逆時針和順時針的方向進行滾動。
SphereMenu – 利用UIDynamicAnimator的有趣的選單,path類似。
KYGooeyMenu – KYGooeyMenu 是一個具有 Gooey Effects 帶粘性的扇形選單控制元件(衛星選單、path)。
TwitterPaggingViewer – 多個Tableview,左右滑動。
CircularProgressControl – Circular Progress Control using CAShapeLayer ,環形進度控制條。
KDCircularProgress – KDCircularProgress是使用swift製作的色彩炫麗的進度條,可以加入多種顏色來控制進度條的漸變效果。
XLPagerTabStrip – 做的很棒的iOS下的PagerTabStrip。
RandomColorSwift – 一個自動生成好看的顏色的 Swift 庫,RandomColorSwift。
HexColorService – 將16進位制顏色字串轉成UIColor。
Rainbow – 旨在提高程式碼可讀性及易用性的 UIColor 擴充套件,它使原先有限的預定義顏色(方法)選擇,擴充套件至超過 1200 種。
UIColor-ChineseTraditionalColors – 中國傳統顏色引用 UIColor 擴充套件。“UIColor.桃紅(),UIColor.竹青() …”,共158種。
類似美團的下拉選單 – 類似美團的下拉選單,原始碼推薦說明
類似美團的下拉選項 – 類似於美團、大眾點評的下拉選單選項,code4app程式碼,評論程式碼有瑕疵。
CRMediaPickerController – 一個簡單易用的圖片/視訊選擇器。1.可同時選擇照片和視訊。 2.挑選範圍有Camera、Camera Roll、Photo Library以及最近拍攝的照片和視訊。3.可自定義UIImagePickerController屬性(Camera Overlay、Camera Device、Camera View Transform以及allowsEditing)。4.支援橫屏和豎屏5.原生的iOS UI。,原始碼推薦說明
MDCSwipeToChoose – MDCSwipeToChoose可簡單地新增滑動手勢來呼叫UIView,並使用該行為提供了一個元件以建立類似Tinder app的like或者dislike介面的輕掃。基於輕掃的方向,你可以決定執行什麼樣的行為,並且你可以自定義文字顏色和圖片。該專案適用於教學用的抽認卡、圖片檢視器以及其他等。
iOS Material Design庫 – 該專案借鑑於谷歌的Material Design guideline,使用者可自定義背景色。
ZMaterialDesignUIButton – Swift Material Design UIButton。
MediumScrollFullScreen – Medium的可擴充套件滾動頁面,上下滾動時,全屏顯示內容,並自然消隱上下選單。由此專案感知,作者是一位很注重細節的開發者,他的另外幾個選單類專案也都不錯,值得參考,比如:PathMenu, MediumMenu 等。
SDProgressView – 簡便美觀的進度指示器,此係列共有六種樣式的進度指示器。
WZFlashButton – WZFlashButton,點選後button裡面出現水波擴散效果。
Twinkle – 為字型加上鑽石版閃耀的效果。使用Swift編寫。
ios-multi-back-button – 可替換內建的UInavigationController返回按鈕,長按左上角的返回按鈕,實現多層級的快速返回。
ASDayPicker – 適用於iOS (iPhone)的日期選擇器,類似於Calendar app的周檢視。
today extension – 用純程式碼構建一個Widget(today extension) 。
FSCalendar – 日曆檢視,帶有微妙和平滑的滾動效果,可自定義外觀–國人。
HSDatePickerViewController – 帶有Dropbox Mailbox感覺的時間日期選擇器。啟動是背景被模糊化。介面也是主流的扁平化風格。
JTCalendar – iOS下優美的 Calendar 元件,做 GTD 類 App 必備。
Persei – 動畫隱藏或顯示頂部選單支援庫及示例專案。–swift
Form – JSON 驅動的 Form表單系統,複雜的表單填寫類 App 極其需要(比如淘寶呢!)。
SwiftyFORM – swift 表單輸入框架(亮點是表單驗證規則引擎),是我見過地最易用的 Swift 表單元件。
SwiftSpinner – SwiftSpinner是使用swift製作的一款精緻帶感的指示器,並且連帶有字型資訊顯示,模糊背景,半透明,扁平化等IOS8的效果。
AKPickerView-Swift – 一款小而美的 3D 效果選擇器。
ImagePickerSheet – 圖片或視訊選擇器(可多選)元件及其示例專案。
iOS-RatingBar – iOS-RatingBar swift版的評分控制元件,跟Android的RatingBar一樣有兩種模式,評分模式和只讀模式’支援檢視編輯,自定義星星數量,評分等級,另外還能支援非整數星,0.5顆星,0.1顆星,可以開啟動畫效果。
RKNotificationHub – 快速給 UIView 新增上炫酷的通知圖示(Badge、紅點、提示)。
BubbleTransition – 以氣泡膨脹和縮小的動畫效果來顯示和移除 controller,Uber的就是這種取消操作的方式。
KYFloatingBubble – 類似iOS7中Game Center浮動氣泡的效果。
DKNightVersion – DKNightVersion 是一個支援夜間模式切換的框架。
EasyUIControl – 一個可以簡化介面ui的控制元件框架。
LxGridView-oc LxGridView-swift – 利用UICollectionView模仿iOS系統桌面圖示的互動,作用如動圖。
QQBtn – 仿QQ未讀訊息彈性按鈕動畫,達到和手機QQ未讀資訊一樣的動畫效果,效果基本實現。
GMStepper – swift 帶動畫效果、支援手勢滑動操作的步進標籤。
TZStackView – OS 9 UIStackView 功能模擬實現於 iOS 7/ iOS 8 內。
LayoutTrait – swift 一個小類庫。 做iPad 多工分屏 適配的同學可以看一下。
HACursor – HACursor,是一個對橫向ScrollView中的檢視進行管理的UI控制元件。只要幾行程式碼就可以整合類似於網易新聞對主題頁面進行排序,刪除操作的功能。
Ruler – 尺子