0
私は2 ViewControllerを追加したUITabBarControllerを持っています。これで、perticularタブをクリックすると、すべてのタブが正しく切り替わりました。 UISwipeGestureRecognizerをTabBarControllerに追加したのは、TabBarを左から右に、または左から左にスワイプするときと同じ機能です。UITabBarController UISwipeGestureRecognizerで
しかし、私は左または右に左から右からスワイプしようとしたとき、私は、それは私のジェスチャー
を検出していないがここで解決しようTabBarController
#import "TabBarController.h"
@implementation TabBarController
-(void)viewDidLoad{
UISwipeGestureRecognizer *leftToRightGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftToRightSwipeDidFire)];
leftToRightGesture.direction = UISwipeGestureRecognizerDirectionRight;
[self.tabBarController.tabBar addGestureRecognizer:leftToRightGesture];
UISwipeGestureRecognizer *rightToLeftGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightToLeftSwipeDidFire)];
rightToLeftGesture.direction = UISwipeGestureRecognizerDirectionLeft;
[self.tabBarController.tabBar addGestureRecognizer:rightToLeftGesture];
}
- (void)leftToRightSwipeDidFire {
UITabBar *tabBar = self.tabBarController.tabBar;
NSInteger index = [tabBar.items indexOfObject:tabBar.selectedItem];
if (index > 0) {
self.tabBarController.selectedIndex = index - 1;
} else {
return;
}
}
- (void)rightToLeftSwipeDidFire {
UITabBar *tabBar = self.tabBarController.tabBar;
NSInteger index = [tabBar.items indexOfObject:tabBar.selectedItem];
if (index < tabBar.items.count - 1) {
self.tabBarController.selectedIndex = index + 1;
} else {
return;
}
}
@end
タブを移動するためにスワイプすることはあまり一般的ではなく、あまり直感的ではありません。私はこれを再考することをお勧めします。あなたがスワイプすると、あなたの "... SwipeDidFire"メソッドが全く呼び出されていますか? – fsb
解決済み、スワイプを検出しない理由は、IBAction @fbara –