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

上下拉刷新控件

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

模糊效果

1. FXBlurView --支持iOS5.0以上版本,支持靜態、動態模糊效果,繼承與UIView的模糊特效4600+star(推薦)。
2. VVBlurPresentation --很簡單易用的在原來viewConntroller基礎上作模糊,而後present新的viewController的,王巍的做品
3. UICustomActionSheet -- 經過模糊背景來着重強調與菜單相關的元素–對話框
4. SABlurImageView --支持漸變更畫效果的圖像模糊化類庫ios

AutoLayout

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

富文本

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



圖表

1. PNChart -- 國內開源做者,動態的圖表,7500+star(推薦)
2. swift-linechart -- 功能完整、實用的折線圖組件。使用方便,參數配置簡單。是不可多得的優質組件–swift
3. Charts -- 一款優秀 Android 圖表開源庫 MPAndroidChart 的 Swift 語言實現版(支持 Objective-C 和 Swift 調用)。缺省提供的示例代碼爲 Objective-C
4. TEAChart -- xhacker/TEAChart 一個簡潔的 iOS 圖表庫,支持柱狀圖、餅圖以及日曆等)
5. YOChartImageKit -- 支持在watchOS上繪製圖表,能夠關注一下swift



表格相關

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

隱藏與顯示

1. SlideTapBar – 滾動欄菜單,向上滾動時隱藏tabbar,向下滾動立刻顯示tabbar。
2. FoldingTabBar.iOS – 可摺疊Tab Bar和Tab Bar Controller。
3. LTNavigationBar – LTNavigationBar爲app導航欄添加動態着色效果,可自定義其背景色。Demo包含:1.變換背景色;2.滾動視圖,導航欄和狀態欄重疊。
4. BLKFlexibleHeightBar – 固定Header的效果庫。。緩存


HUD與Toast

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


對話框/彈出框

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

其餘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 – 尺子。app



文/iOS巍(簡書做者) 原文連接:http://www.jianshu.com/p/01b98f69bd66 著做權歸做者全部,轉載請聯繫做者得到受權,並標註「簡書做者」。
相關文章
相關標籤/搜索