タブバーを模倣したボタンの行を含むカスタムコントロールがあります。このコントロールUINavigationController
は、ルート ビュー コントローラーから移動するとスライドして表示されなくなり、ルートに移動するとスライドして戻ります。
iOS 7 ではUIScreenEdgePanGestureRecognizer
、スワイプして戻るジェスチャを提供する があります。したがって、スライド量がUIScreenEdgePanGestureRecognizer
の翻訳に対応するように、カスタム コントロールを変更しています。
問題は、ユーザーがタッチを離したときに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
}
}