0
我有UITabBarController与2 ViewController添加它。所以,现在当我们点击特定标签时,所有标签切换正常。我在TabBarController中添加了UISwipeGestureRecognizer,它可以将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 –