原創炫酷代碼公開——串連董鉑然github,董鉑github

來源:互聯網
上載者:User

原創炫酷代碼公開——串連董鉑然github,董鉑github

公開了github部分項目(均為原創)更多代碼請看https://github.com/dsxNiubility
SXWaveAnimate SXFiveScoreShow SXPhotoShow SXNews

 主要介紹:

用於做一個圓形容器中的灌水效果,demo程式是前一個頁面傳值齣動畫,也可以做成當前頁面獲得資料後重新整理齣動畫。現在封裝的也基本完善,使用者需要複用我寫的自訂cell。 提供三種樣式,後續還會完善一些關於水花無限流動等擴充功能。

 主要介紹:

這個程式是關於繪製圖表的。傳入五個參數值0~5.0,會根據比例計算並繪製出五邊形的,並且可以提供一個比較值繪製出另一個(綠色圖)與自己的分數比較,也設定了動畫擴張效果,視覺效果更好。使用者可以自訂的地方很多,現已提供三種維度,根據你想傳幾個值來判斷畫三角形,四邊形還是五邊形。

主要介紹:

這個主要是用來圖片展示的。裡面是寫了collectionView的三種自訂布局,也提供了思路,使用者也可以自行聯想作出更多布局。使用也很簡單:布局檔案拖入項目中,在建立collection時要傳一個布局,傳進去即可。順手加了個點擊刪除效果,也很有意思。

 

主要介紹:

精仿的網易新聞。筆者工作之餘,對著網易UI,扒網易圖片素材,抓取網易介面等做的。裡面完成了主導航頁,新聞詳情頁,圖片瀏覽頁,評論頁。效果不錯,比網上流傳的各種和網易新聞UI架構有關的代碼都要好。類似於這種模仿的項目我github裡還有很多,例如百度醫生,新浪微博,舊版美團等等。

 

 公開了半個多月 300+星

點擊前往github下載

剛公開還沒有星,歡迎大家借鑒、點星

點擊前往github下載

剛公開還沒有星,歡迎大家借鑒、點星

點擊前往github下載

 以前小範圍公開的,有40個星

點擊前往github下載

下面是這幾個項目的詳細介紹

SXWaveAnimate6月2日升級版本(建議更新下)

將動畫代碼封裝到了Cell的內部,提供了統一的介面及賦值方法

使用方法

1.將代碼中的classes檔案夾拖入項目中,裡麵包含了自訂Cell,及一個便利計算frame的類
2.在需要用到的類中(就是你要寫tableView資料來源方法和代理方法的類)引入標頭檔
#import "SXWaveCell.h"
3.在資料來源方法的cellforRow中在你需要的位置,把以往的UITableView Cell *cell 等等換成
SXWaveCell *cell = [SXWaveCell cell];
self.waveCell = cell;
[cell setPrecent:self.precent textColor:[UIColor orangeColor] type:0 alpha:1];
return cell;
4.其中第三行的這個 setPrecent: textColor: type: alpha:方法 是一個賦值方法,現在必須四個參數都傳,後續會設定多個介面 可以只傳需要的值。
5.現在源碼裡有兩種方法一個是在頁面顯示之後點擊cell觸發動畫,一個是一進去就顯示動畫,如果想要這麼設定 需要在viewDidAppear方法中加入一行開始動畫的方法[self.waveCell addAnimateWithType:0];

具體代碼在樣本程式中寫的都很清晰非常易上手

初始版本

因為前期主要以實現功能為主,暫時介面封裝的還不是很完善,很快會不斷完善。並且現在的代碼結構也非常清晰了完全可以複用 歡迎關注。

暫時提供三種樣式。

第一種是,純白背景橙色文字。第二種是,半透明背景深綠文字。 後續會提供顏色的介面。第三種是,顏色純白,背景較深,相比於前兩種,第三種是先把水位灌滿再降到指定的高度。

也可以根據使用者喜好自行修改

 

SXFiveScoreShow

實作類別似於實況足球裡球員五項能力值展示的五邊形。

這個程式是關於繪製圖表的。傳入五個參數值0~5.0,會根據比例計算並繪製出五邊形的,並且可以提供一個比較值繪製出另一個(綠色圖)與自己的分數比較,也設定了動畫擴張效果,視覺效果更好。使用者可以自訂的地方很多,現已提供三種維度,根據你想傳幾個值來判斷畫三角形,四邊形還是五邊形。

首頁的demo樣本程式,自己搭建了一個較為完整的樣本,一般引用了本第三方庫最終大致可以弄成這樣。

兩種樣式

內部提供了可設定的屬性,通過控制showType為1或是2可以使五邊形顯示成實色或邊框。

三種維度

樣本程式中是,第一個頁面給五個維度分數,和五個維度對比分數都傳了值,維度五就是用這傳進來的值繪製的(傳入的是一個數組)。然後維度三和維度四都是取了前面的三個值和四個值繪製出圖。

使用方法:
1.將代碼中resource檔案夾中的SXFiveScore拖入項目中2.引入主標頭檔#import "SXFiveScoreCell.h"3.有兩種使用方法,一種是用SXFiveScoreCell加在tableView中來展示,一種是直接將   SXAnimateView加在ViewController中顯示。但暫時第二種方法封裝的還不是很完善,暫時建議第一種。4.在tableView的資料來源方法中 使用SXFiveScoreCell類來建立cell。5.獲得資料,可以是這個頁面發請求得到的,也可以是前一個頁面傳得,總之要得到3~5個0~5.0之間數值,並整合成一個數組。(如果想要設定對比view那就要寫兩個數組)6.然後為cell的兩個成員變數傳值     cell.scores = mScoreArray;    cell.compareScores = mCompareArray;    (現在就預設了主要分數是桔色,對比分數是綠色,後續會把顏色的介面開放到前面可以自行設定)7.如果想要設定進入頁面後自動產生動畫,可參見demo中使用成員變數並在viewdidappear中控制的方法。

SXPhotoShow

UICollectionViewFlowLayout流水布局 是當下collectionView中常用且普通的布局方式。本代碼也寫了三種好看的布局,其中LineLayout和流水布局有很大的相同點就直接繼承UICollectionViewFlowLayout,然後StackLayout,CircleLayout這兩種都是直接繼承自最原始的UICollectionViewLayout 布局方案。

SXStackLayout

類似於撲克牌錯位疊在一起的布局,暫時能做到的是兩邊對稱。點擊cell刪除或是cell的數量發生改變時會重新布局,角度也會隨之更改產生動畫效果。

SXLineLayout

是一條直線的布局,但是拖動的過程中,cell的大小會根據自己位置的改變而改變,滑到中間時最大,兩邊時最小。並且做了處理有一個吸附的效果,每次快要停止時都會把最靠近中間的cell放在正中間不歪。

SXCircleLayout

這是一個環形的布局,位置也是會隨著整體數量的改變而改變的。demo設定的是可以點擊刪除的,親可以試試在刪最後5個的時候會有炫酷效果發生。

使用方法

1.建立自己需要的項目,裡面要先有collectionView和collectionCell(demo裡是最樸實的寫法)

2.將項目中的Layout檔案夾拖入項目中。 裡面有三種布局,想用哪種就匯入哪種的標頭檔。
#import "SXStackLayout.h" -- 對應的是的頂部 
#import "SXLineLayout.h" -- 對應的是的中間
#import "SXCircleLayout.h" -- 對應的是的下方

3.在ViewDidLoad方法中建立布局
SXCircleLayout *layout = [[SXCircleLayout alloc] init];
並在collection的初始化方法中填上這個引入的布局
UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 235)) collectionViewLayout:layout];

 

SXNews

模仿網易新聞做的新聞軟體

精仿的網易新聞。筆者工作之餘,對著網易UI,扒網易圖片素材,抓取網易介面等做的。裡面完成了主導航頁,新聞詳情頁,圖片瀏覽頁,評論頁。效果不錯,比網上流傳的各種和網易新聞UI架構有關的代碼都要完整,都要好。

主導航頁面主要功能點是在頂部的標題列可以滑動,scrowView和collectionView的迴圈利用並且在點擊標題列或是,手勢滑動的時候,下面的頁面都會滑到當前的頁面。 並且新聞模組是懶載入的,你要看哪幾個頁面他才會載入。這是通過控制scrowView的兩個手勢停止的代理方法來實現的。 下面的新聞模組提供了4種自訂的cell,通過對資料的解析,來判斷改載入到哪種自訂cell中。 結果讓首頁顯得很豐富。

關於新聞詳情頁,網易原本的介面在上一個頁面返回的資料中既有一個url地址,也有一個xml的字串,url地址展示後不美觀,所以做法是將xml格式的字串解析並在webView中展示,這其中做到了圖文混排並設定了css樣式。本頁面主要的亮點是JS代碼與OC代碼間的傳值。在webview中點擊圖片後下面彈出可以儲存的式樣,這是控制一個頁面重新導向方法攔截髮出的請求來實現的。

評論頁相對較為簡單,就是普通的自訂cell。控制好自訂的行高就沒有問題了。關於使用者介紹的那個label可以用正則過濾下的,不過寫這玩意主要精力都在核心功能上這裡就沒仔細弄了。

圖片查看器頁面也是基本達到了模仿的效果,下面的文字和9/16等樣式都是通過scrowView的位移量動態計算的,並且和首頁一樣也是懶載入圖片的方式,在圖片下載中還未顯示時會有一個網易的佔位圖片。

  • 本項目還用到了上拉載入下拉重新整理和一些關於父子控制器嵌套和自訂導覽列等技術知識,這些對平時的開發也是有一定協助的。

不定時更新 歡迎點星。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.