LCDownloadManager 下載助手 斷點續傳 多任務下載(作者:leoios)
基於AFN,代碼:
// 當前下載任務 AFHTTPRequestOperation *operation = nil; // 下載 operation = [LCDownloadManager downloadFileWithURLString:@"http://mw2.dwstatic.com/2/8/1528/133366-99-1436362095.mp4" cachePath:@"demo2.mp4" progressBlock:^(CGFloat progress, CGFloat totalMBRead, CGFloat totalMBExpectedToRead) { // totalMBRead 和 totalMBExpectedToRead 單位是MB NSLog(@"%f %f %f", progress, totalBytesRead, totalBytesExpectedToRead); } successBlock:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"Download finish"); } failureBlock:^(AFHTTPRequestOperation *operation, NSError *error) { if (error.code == -999) NSLog(@"Maybe you pause download."); NSLog(@"%@", error); }]; // 暫停 [[LCDownloadManager pauseWithOperation:operation];];
測試環境:Xcode 6.2,iOS 6.0以上
彈幕模塊(作者:冰奇)
滑動航道選擇
方案:
1、
通過彈幕碰撞檢測,決定是否使用此航道,即航道每次都是從上往下做判斷。
碰撞檢測主要難點在於檢測橫向滾動彈幕之間的碰撞,彈幕存活時間由其顯示時間和存活長短決定,因此,彈幕之間是否碰撞只需檢測開始和消失是否碰撞即可。
2、
當第一個找不到航道時候,檢查所有航道最小距離,這個距離必須在指定的最大彈幕的長度之內,如果找到,將其放置在對於彈幕後面。
2.1、前彈幕最右邊還沒出現在屏幕時,新彈幕放置到其後面,space為倆之間間隔
2.2、前彈幕最右邊已出現在屏幕時,新彈幕仍然放置邊界等待滾動
浮現航道選擇(分為兩排航道)
方案:
1、
選擇第一排,按沒有彈幕為准,沒有就顯示
2、
第一排都占滿,使用第二排,第二排是在第一排的基礎坐標y向下半個航道高度,
這樣可以有個視覺差,第一排顯示消失時,可以看到第二排,從而爭取更大的顯示航道(2n-1)
測試環境:Xcode 6.2,iOS 6.0以上
CATransform3D動畫效果(作者:治療全天下患者)
CATransform3D動畫效果
測試環境:Xcode 6.2,iOS 6.0以上
CDPMenuViewController多模式抽屜效果封裝(作者:CDP)
CDPMenuViewController可以使控制器有多種模式的抽屜效果來顯示菜單,詳情看demo。
測試環境:Xcode 6.2,iOS 6.0以上
swift自定義cell,刷新,網絡-下拉刷新才顯示數據(作者:楓韻海)
相互學習,在別人基礎上寫了一個小Demo
測試環境:Xcode 6.2,iOS 7.0以上