iOS自己寫抽屜效果

自己寫的簡單抽屜效果,大概原理都是一樣的郑象,直接放代碼贡这。

#import"DrawViewController.h"

@interfaceDrawViewController()

@property(nonatomic,weak)UIView*leftV;

@property(nonatomic,weak)UIView*rightV;

@property(nonatomic,weak)UIView*mainV;

@end

@implementationDrawViewController

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view.

[selfsetup];

//添加拖動手勢

UIPanGestureRecognizer*pan = [[UIPanGestureRecognizeralloc]initWithTarget:selfaction:@selector(pan:)];

[self.mainVaddGestureRecognizer:pan];

//給控制器添加點(diǎn)按手勢

UITapGestureRecognizer*tap = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(tap)];

[self.viewaddGestureRecognizer:tap];

}

- (void)tap{

//讓mainv復(fù)位

[UIViewanimateWithDuration:0.5animations:^{

self.mainV.frame=self.view.bounds;

}];

}

#define R275

#define L -275

- (void)pan:(UIPanGestureRecognizer*)pan{

//獲取偏移量

CGPointtransp = [pantranslationInView:self.mainV];

//self.mainV.transform = CGAffineTransformTranslate(self.mainV.transform, transp.x, 0);

self.mainV.frame= [selfframeWithOffset:transp.x];

//判斷拖動方向

if(self.mainV.frame.origin.x>0){

//右

self.rightV.hidden=YES;

}elseif(self.mainV.frame.origin.x<0){

//左

self.rightV.hidden=NO;

}

//手指松開,自動定位

CGFloattarget =0;

if(pan.state==UIGestureRecognizerStateEnded) {

if(self.mainV.frame.origin.x> [UIScreenmainScreen].bounds.size.width*0.5) {

//右側(cè)厂榛,大于屏幕一半

target =R;

}elseif(CGRectGetMaxX(self.mainV.frame) < [UIScreenmainScreen].bounds.size.width*0.5){

//左側(cè)盖矫,最大x小于屏幕一半

target =L;

}

CGFloatoffset = target -self.mainV.frame.origin.x;

[UIViewanimateWithDuration:0.5animations:^{

self.mainV.frame= [selfframeWithOffset:offset];

}];

}

//復(fù)位

[pansetTranslation:CGPointZeroinView:self.mainV];

}

//固定向下偏移的最大距離

#define MAXY100

//根據(jù)偏移量計(jì)算mainV的frame

- (CGRect)frameWithOffset:(CGFloat)Offset{

CGRectframe =self.mainV.frame;

frame.origin.x+= Offset;

//向左移動時,y為負(fù)值击奶,所以要取絕對值

frame.origin.y=fabs(frame.origin.x*MAXY/[UIScreenmainScreen].bounds.size.width);

//下方也要上移,所以mainV的高度要減去兩倍

frame.size.height= [UIScreenmainScreen].bounds.size.height-2*frame.origin.y;

returnframe;

}

- (void)setup{

//左

UIView*leftV = [[UIViewalloc]initWithFrame:self.view.bounds];

leftV.backgroundColor= [UIColorblueColor];

self.leftV=leftV;

[self.viewaddSubview:leftV];

//右

UIView*rightV = [[UIViewalloc]initWithFrame:self.view.bounds];

rightV.backgroundColor= [UIColorgreenColor];

self.rightV=rightV;

[self.viewaddSubview:rightV];

//main

UIView*mainV = [[UIViewalloc]initWithFrame:self.view.bounds];

mainV.backgroundColor= [UIColorredColor];

self.mainV= mainV;

[self.viewaddSubview:mainV];

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辈双,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子柜砾,更是在濱河造成了極大的恐慌湃望,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痰驱,死亡現(xiàn)場離奇詭異证芭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)担映,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門废士,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人另萤,你說我怎么就攤上這事湃密。” “怎么了四敞?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵泛源,是天一觀的道長。 經(jīng)常有香客問我忿危,道長达箍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任铺厨,我火速辦了婚禮缎玫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘解滓。我一直安慰自己赃磨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布洼裤。 她就那樣靜靜地躺著邻辉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上值骇,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天莹菱,我揣著相機(jī)與錄音,去河邊找鬼吱瘩。 笑死道伟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的使碾。 我是一名探鬼主播蜜徽,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼部逮!你這毒婦竟也來了娜汁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤兄朋,失蹤者是張志新(化名)和其女友劉穎掐禁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颅和,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡傅事,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了峡扩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹭越。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖教届,靈堂內(nèi)的尸體忽然破棺而出响鹃,到底是詐尸還是另有隱情,我是刑警寧澤案训,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布买置,位于F島的核電站,受9級特大地震影響强霎,放射性物質(zhì)發(fā)生泄漏忿项。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一城舞、第九天 我趴在偏房一處隱蔽的房頂上張望轩触。 院中可真熱鬧,春花似錦家夺、人聲如沸脱柱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽褐捻。三九已至掸茅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柠逞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工景馁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留板壮,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓合住,卻偏偏與公主長得像绰精,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子透葛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容