最近朋友接手乙個專案,時間有點緊趕,便請我幫忙實現乙個功能,首頁滾**,加動畫效果。以前用scrollview做過類似輪播圖,但是用在這裡可能會有點麻煩,就上網研究了下collectionview,做出來後發現,其實很簡單的,先看效果
下面上**
//
// viewcontroller.m
// collectionview輪播
//// created by yuepengfei on 16/7/1.
//#import "viewcontroller.h"
#import "criclelayout.h"
@inte***ce
viewcontroller ()
@property (nonatomic, strong) uicollectionview *mycollectionview;
@end
static
nsstring * const cellidentifier = @"cellidentifier";
@implementation
viewcontroller
- (void)viewdidload
#pragma mark - collectionview
- (uicollectionview *)mycollectionview
return _mycollectionview;
}#pragma mark ---
- (nsinteger)numberofsectionsincollectionview:(uicollectionview *)collectionview
- (uicollectionviewcell *)collectionview:(uicollectionview *)collectionview cellforitematindexpath:(nsindexpath *)indexpath
- (nsinteger)collectionview:(uicollectionview *)collectionview numberofitemsinsection:(nsinteger)section
- (void)collectionview:(uicollectionview *)collectionview didselectitematindexpath:(nsindexpath *)indexpath
- (void)didreceivememorywarning
//
// criclelayout.m
// collectionview輪播
//// created by yuepengfei on 16/7/1.
//#import "criclelayout.h"
@implementation
criclelayout
- (void)preparelayout
- (nsarray
*)layoutattributesforelementsinrect:(cgrect)rect ];
return attributes;
}- (cgpoint)targetcontentoffsetforproposedcontentoffset:(cgpoint)proposedcontentoffset withscrollingvelocity:(cgpoint)velocity
}// 補償差值
proposedcontentoffset.x -= distance;
//防止在第乙個和最後乙個 卡住
if (proposedcontentoffset.x
< 0)
if (proposedcontentoffset.x > (self
.collectionview
.contentsize
.width - self
.sectioninset
.left - self
.sectioninset
.right - self
.itemsize
.width))
return proposedcontentoffset;
}//滾動的時會呼叫
- (bool)shouldinvalidatelayoutforboundschange:(cgrect)newbounds;
UICollectionView實現書本翻頁布局
效果圖 初始化 instancetype initwithframe cgrect frame return self 預設自定義布局,布局圓角 和 中心線 判斷cell的奇數偶數 if layoutattributes.indexpath.item 2 0 else 圓角設定 uirectcorn...
animation iOS實現動畫
uiview動畫 動畫特點 全部都是類方法 直接類去呼叫 1.uiview 直接呼叫的 2.block方法 步驟 1.開始動畫 2.中間寫你要執行的動畫 3.提交動畫 開始動畫 引數1 動畫的id 引數2 攜帶的引數 uiview beginanimations donghua context ha...
翻書動畫實現
最近利用空餘時間實現了一下翻書的動畫 主要利用了3個方面的東西 1 canvas的clip方法 2 設定path路徑,這其中包括了bezier函式的理解 3 繪圖原理參考 此大神 廢話不多說,直接原始碼吧 import android.animation.animator import androi...