2012-02-29 281 views
0

我想要一個自定義手勢,這樣如果用戶從屏幕底部向上滑動他/她的手指,它將顯示佔據屏幕底部四分之一的滾動視圖。類似地,爲了關閉視圖,用戶將他/她的手指向下滑離屏幕。我大多無法弄清楚如何將動作與動畫連接起來,以便在用戶移動他/她的手指時視圖可以上下滑動。iOS動畫滾動視圖

+1

到目前爲止你有什麼嘗試? – 2012-02-29 05:54:16

+0

我實現了自定義手勢和滾動視圖。我可以讓它「神奇地」出現/消失。我只是不知道如何與用戶的手指一起移動視圖。 – user1120008 2012-03-01 04:54:27

回答

0

假設您有兩個視圖self.viewself.scrollViewself.scrollViewself.view內的子視圖。

然後將self.scrollView放在屏幕外。

註冊drag事件兩種觀點:基於觸摸移動

[self.view addTarget:self action:@selector(mainViewMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside]; 
[self.scrollView addTarget:self action:@selector(scrollViewMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside]; 

不要在mainViewMoved:withEvent是否需要視運動(帶滾動視圖)和scrollViewMoved:withEvent(移動本身上/下)處理程序。

更多的信息在this question

0

檢出UIResponder(UIView的超類)。你需要實現你的基本視圖下,你的滾動視圖(用於向下輕掃),或者只是你的滾動視圖如果當它被隱藏在「處理」可見:

– touchesBegan:withEvent: 
– touchesMoved:withEvent: 
– touchesEnded:withEvent: 
– touchesCancelled:withEvent: 

記錄觸摸開始的地方計算他們移動手指的距離,並相應地調整滾動視圖的框架。當他們擡起手指(touchesEnded)時,確定他們是否已經通過了一些閾值(比如說20像素),如果是這樣,就可以向上/向下滑動你的滾動視圖。