SWRevealViewController プラグイン ( https://github.com/John-Lluch/SWRevealViewController ) を使用して、iOS アプリで引き出しのようなトランジションを実現しています。
ビューに panGestureRecognizer を追加して、ユーザーが右の ViewController をドラッグして左の VC を非表示にできるようにしました。
[self.view addGestureRecognizer: self.revealViewController.panGestureRecognizer];
ここで、正しい VC がドラッグされてアニメーションがトリガーされたことを検出したいので、基本的には、どの VC が表示されているかを自動的に知る方法を見つけたいだけです。
これまでのところ、次のコードでイベントを self.revealViewController.panGestureRecognizer にバインドしようとしました。
[self.revealViewController.panGestureRecognizer addTarget:self action:@selector(PanGestureEnded:)];
そして、これを行います:
-(void)PanGestureEnded:(UIPanGestureRecognizer *)gesture{
if (gesture.state==UIGestureRecognizerStateEnded) {
//some code here
}
}
しかし、私のアプリは常にクラッシュし、exc_bad_access エラーが発生します。NSZombies を有効にすると、次のエラー メッセージが表示されます。
-[TabBarViewController PanGestureEnded:]: message sent to deallocated instance 0xc1ad890
これを修正する方法を知っている人はいますか?
どうもありがとう