用scrollview製作3D效果的導航頁

2021-07-10 00:20:52 字數 2511 閱讀 9729

第一步:新建乙個工程:3dscrollview

第二步:建立乙個類繼承與scrollview

#import

//列舉出3d效果的型別

typedef

ns_enum(nsuinteger, jjj3dscrollvieweffect)

;@inte***ce jjj3dscorllview : uiscrollview

@property

(nonatomic

)jjj3dscrollvieweffecteffect;

@property(nonatomic)

cgfloat

angleratio;

@property(nonatomic)

cgfloat

rotationx;

@property(nonatomic)

cgfloat

rotationy;

@property(nonatomic)

cgfloat

rotationz;

@property(nonatomic)

cgfloat

translatez;

@property(nonatomic)

cgfloat

translatex;

@property(nonatomic)

cgfloat

translatey;

- (nsuinteger)currentpage;

- (void)loadnextpage:(bool)animated;

- (void)loadpreviouspage:(bool)animated;

- (void)loadpageindex:(nsuinteger)index animated:(bool)animated;

@end

#import "jjj3dscorllview.h"

#define radians_to_degrees(radians) ((radians) * (180.0 / m_pi))

#define degrees_to_radians(angle) ((angle) / 180.0 * m_pi)

@implementation jjj3dscorllview

- (instancetype)initwithframe:(cgrect)frame

[self

commoninit];

return self; }

- (id)initwithcoder:(nscoder *)adecoder

[self

commoninit];

return self; }

-(void)commoninit

- (void)seteffect:(jjj3dscrollvieweffect)effect

[self

setneedsdisplay]; }

- (void)layoutsubviews

}//下面的這些方法是在另乙個頁面新增按鈕的時候用到的,基本的滑動導航頁不需要下面的方法就可實現

- (nsuinteger)currentpage

- (void)loadnextpage:(bool)animated

- (void)loadpreviouspage:(bool)animated

-(void)loadpageindex:(nsuinteger)index animated:(bool)animated

第三步:在需要用到導航頁的頁面中

#import "viewcontroller.h"

#import "jjj3dscorllview.h"

@inte***ce

viewcontroller

()

@property(strong, nonatomic) 

jjj3dscorllview

*scrollview;

@property (strong, nonatomic)  nslayoutconstraint *leftnextbuttonconstraint;

@property(strong, nonatomic)

uipagecontrol

* pagecontrol;

@end

@implementation viewcontroller

- (void)viewdidload

-(void)createcardwithcolor

- (void)didreceivememorywarning

#pragma mark - scrollviewdelegate

- (void)scrollviewdidendscrollinganimation:(uiscrollview *)scrollview

-(void)scrollviewdidenddecelerating:(uiscrollview *)scrollview

@end

ok,完工了,就是這麼簡單。

3D製作魔方

從10號開始做這個東西,是一邊學習一邊做的,學了dxut框架 拾取技術 dx提供的 別人寫的演算法和用外接球模擬 先說一下還要改進的地方 1 無論先點哪乙個方塊,都按照程式設定的去轉 2 光照問題 轉了之後變暗 3 記憶體洩露 這個找了很久都沒找到,我估計是dxut框架的,汗 設計思路 1 渲染 設...

CSS 3D之製作3D骰子

css 3d之製作3d骰子 css3 3d其實還是轉換的一種,css3提供了2d轉換,裡面有位移 縮放 旋轉 斜拉,這些個效果都是在2d平面上的效果。那麼3d其實就是多了乙個維度,也就是多了個座標軸。頁面中想做3d效果就需要乙個東西,就是盛放3d變換的元素的容器,咱們把它叫做舞台 在stage的cs...

用Flash模擬製作簡單的3D視覺特效

用flash簡單模擬製作乙個旋轉的3d效果的指環特效動畫,新手入門教程,高手就別看了!先看效果 url url 本教程不涉及action script,適合新手入門的乙個教程。新建立乙個flash文件,然後按ctrl j調整文件屬性。img files beyondpic 2007 6 25 200...