手機版 | wap版 | 網站主頁 | HOME | 3G網頁
<button id="mjgpz"><acronym id="mjgpz"></acronym></button>

<dd id="mjgpz"></dd>
<button id="mjgpz"></button>
      1. <progress id="mjgpz"></progress>
        <tbody id="mjgpz"><track id="mjgpz"></track></tbody>
        <em id="mjgpz"><tr id="mjgpz"></tr></em>

        如絲般順滑的微信朋友圈(點贊,評論,圖文混排表情,...

        [複製鏈接]
        來自: Waynezxcv 分類: iOS精品源碼 上傳時間: 2016-5-26 01:21:37
        Tag:微信 朋友圈 coretext Gallop

        項目介紹:

        文:waynezxcv

        Gallop --- 非同步繪製排版引擎,支持布局預載入緩存、支持圖文混排顯示,支持添加鏈接、支持自定義排版,自動布局。 只需要少量簡單代碼,就可以快速構建一個性能相當優秀(滾動時幀數60)的圖文混排界面。

        Gallop v0.2.1
        Gallop --- 非同步繪製排版引擎,支持布局預載入緩存、支持圖文混排顯示,支持添加鏈接、支持自定義排版,自動布局。 只需要少量簡單代碼,就可以構建一個性能相當優秀(滾動時幀數60)的圖文混排界面。

        Features
        • 支持文本布局繪製預載入,並使用非同步繪製的方式,保持界面的流暢性
        • 支持富文本,圖文混排顯示,支持行間距 字間距,設置行數,自適應高度
        • 支持添加屬性文本,自定義鏈接
        • 支持在子線程圓角圖片,並避免離屏渲染
        • 支持通過設置約束的方式自動布局
        • API簡單,只需設置簡單的屬性,其餘交給Gallop就好啦。


        Requirements
        使用Gallop實現網路圖片載入部分依賴於SDWebImage(http://github.com/rs/SDWebImage) 'SDWebImage', '~>3.7'

        Who Use
        適合於想要快速搭建類似微信朋友圈、新浪微博Timeline等複雜的圖文混排滾動界面,並對於滾動流暢性性能有一定要求的情況。

        Installation
        將Gallop文件夾下的.h及.m文件添加到你的工程當中。
        #import "Gallop.h"

        Usage
        • API Quickstart



        使用示例
        1.生成一個文本模型
        [Objective-C] 查看源文件 複製代碼
        LWTextStorage* textStorage = [[LWTextStorage alloc] init];
        textStorage.text = @"waynezxcv";
        textStorage.font = [UIFont systemFontOfSize:15.0f];
        textStorage.textColor = RGB(113, 129, 161, 1);
        
        /***  為文本添加點擊鏈接事件  ***/
        [textStorage addLinkWithData:data
                                 inRange:NSMakeRange(0,statusModel.name.length)
                               linkColor:RGB(113, 129, 161, 1)
                          highLightColor:RGB(0, 0, 0, 0.15)];
        
        /***  點擊鏈接回調  ***/
        - (void)lwAsyncDisplayView:(LWAsyncDisplayView *)asyncDisplayView didCilickedLinkWithfData:(id)data;
        
        /***  用本地圖片替換掉指定位置的文字  ***/
        [textStorage lw_replaceTextWithImage:[UIImage imageNamed:@"img"]
                                    contentMode:UIViewContentModeScaleAspectFill
                                        imageSize:CGSizeMake(60, 60)
                                alignment:LWTextAttachAlignmentTop
                    range:NSMakeRange(webImageTextStorage.text.length - 7, 0)];
        
        
        /***  用網路圖片替換掉指定位置的文字  ***/
        [textStorage lw_replaceTextWithImageURL:[NSURL URLWithString:@"http://avatars0.githubusercontent.com/u/8408918?v=3&s=460"]
                                                    contentMode:UIViewContentModeScaleAspectFill
                                                      imageSize:CGSizeMake(60, 60)
                                                      alignment:LWTextAttachAlignmentTop
                                                          range:NSMakeRange(webImageTextStorage.text.length - 7, 0)];
        
        /***  用UIView替換掉指定位置的文字  ***/
        [textStorage lw_replaceTextWithView:[[UISwitch alloc] initWithFrame:CGRectMake(0, 0, 60.0f, 30.0f)]
                                        contentMode:UIViewContentModeScaleAspectFill
                                               size:CGSizeMake(60.0f, 30.0f)
                                          alignment:LWTextAttachAlignmentTop
                                              range:NSMakeRange(1,0)];
        



        2.生成一個圖片模型
        [Objective-C] 查看源文件 複製代碼
        /***  本地圖片  ***/
        LWImageStorage* imamgeStorage = [[LWImageStorage alloc] init];
        imamgeStorage.contents = [UIImage imageNamed:@"pic.jpeg"];
        imamgeStorage.frame = CGRectMake(textStorage.left, textStorage.bottom + 20.0f, 80, 80);
        imamgeStorage.cornerRadius = 40.0f;//設置圓角半徑
        
        
        /***  網路圖片  ***/
        LWImageStorage* imamgeStorage = [[LWImageStorage alloc] init];
        imamgeStorage.contents = [NSURL URLWithString:@"http://avatars0.githubusercontent.com/u/8408918?v=3&s=460"];
        imamgeStorage.frame = CGRectMake(textStorage.left, textStorage.bottom + 20.0f, 80, 80);
        imamgeStorage.cornerRadius = 40.0f;
        
        /***  點擊圖片回調  ***/
        - (void)lwAsyncDisplayView:(LWAsyncDisplayView *)asyncDisplayView didCilickedImageStorage:(LWImageStorage *)imageStorage touch:(UITouch *)touch;



        3.設置約束 自動布局
        [Objective-C] 查看源文件 複製代碼
        [LWConstraintManager lw_makeConstraint:textStorage.constraint.leftMargin(10).topMargin(20).widthLength(40.0f).heightLength(40.0f)];
        [LWConstraintManager lw_makeConstraint:imamgeStorage.constraint.leftMarginToStorage(textStorage,10).topMargin(20).widthLength(SCREEN_WIDTH)];




        4.生成布局模型
        [Objective-C] 查看源文件 複製代碼
        LWLayout* layout = [[LWLayout alloc] init];
        
        /***  將LWstorage實例添加到layout當中  ***/
        [layout addStorage:textStorage];
        [layout addStorage:imamgeStorage];




        5.創建LWAsyncDisplayView,並將LWLayout實例賦值給創建LWAsyncDisplayView對象
        [Objective-C] 查看源文件 複製代碼
        LWAsyncDisplayView* asyncDisplayView = [[LWAsyncDisplayView alloc] initWithFrame:CGRectZero maxImageStorageCount:10];
        asyncDisplayView.layout = layout;
        [self.view addSubview:asyncDisplayView];




        • 如果需要更加詳細的內容,請看各個頭文件和Demo,有詳細的註釋
        • Demo中有用Gallop構建的微信朋友圈,下載Demo真機調試。



        正在不斷完善中...有任何問題請聯繫我 liuweiself@126.com


        DEMO下載:
        運行demo可以查看效果,而且在demo中,針對各種文本和圖文的實現都有詳細的用例


        相關源碼推薦:

        我來說兩句
        所有評論(3484)
        dagouxionglz 2016-5-26 12:01:55
        強烈支持樓主ing……
        回復
        keliangyao 2016-5-26 13:13:53
        我只是路過打醬油的。
        回復
        沙漠胡楊 2016-5-26 13:15:29
        雖不明,但覺厲!
        回復
        ogqs0493 2016-5-26 13:20:00
        很給力,Code4App有你更精彩!
        回復
        末日孤艦 2016-5-26 13:20:58
        雖不明,但覺厲!
        回復
        ah789go 2016-5-26 14:27:52
        感謝分享,Code4App有你更精彩
        回復
        ah789go 2016-5-26 14:28:31
        很給力,Code4App有你更精彩!
        回復
        陳永輝 2016-5-26 14:49:38
        很給力,Code4App有你更精彩!
        回復
        leisemt 2016-5-26 14:58:12
        樓主用心了,內容非常精彩。
        回復
        提取碼:  下載次數:2469 狀態:已購或VIP 售價:0(原價:10)金錢 下載許可權:初級碼農 
        47693 13 2469
        聯繫我們
        首頁/微信公眾賬號投稿

        帖子代碼編輯/版權問題

        QQ:435399051,742864542

        如何獲得代碼達人稱號?

        代碼貢獻英雄榜
        用戶名 下載數
        通過郵件訂閱最新 Code4App 信息
        上一條 /4 下一條

        廣告投放| 台湾互聯網違法和不良信息舉報中心|中國互聯網舉報中心|Github|申請友鏈|手機版|Code4App ( 粵ICP備15117877號-1 )