我有一個自定義控件,包含一排按鈕,模仿標籤欄。當UINavigationController
遠離根視圖控制器時,此控件滑出視圖,並在導航到根目錄時滑回。與interactivePopGestureRecognizer一起調整位置
在iOS 7中,有可以提供滑動後退手勢。我正在修改我的自定義控件,以便滑動量對應於的翻譯。
問題是,當用戶釋放觸摸時,如何判斷UINavigationController
是否將導航回退或反彈回原始視圖?
[self.interactivePopGestureRecognizer addTarget:self action:@selector(panningBack:)];
- (void) panningBack:(UIPanGestureRecognizer *)recognizer
{
// Snipped - Code that reads the recognizer translation and adjust custom control y position
if (recognizer.state == UIGestureRecognizerStateEnded)
{
// Question: Does it go back, or does it not?
// If it goes back, slide custom control into view
// Else slide custom control out of view
}
}
如何知道導航是否會返回?當用戶釋放手指時? 我的想法是用導航動畫動畫我的自定義標籤欄。 –
我最近發現了Pan Gesture識別器的一個更簡單的解決方案:您可以使用velocity屬性:[recognitionizer velocityInView:self.view]。如果x值爲正值=向右移動=返回 – Nilz11