我是iOS编程的新手。在制作自定义UITabbarController时,我遇到了iOS4和iOS5之间奇怪的动作差异。如果有人有解决这个问题的想法,请告诉我错过的地方。
UITabBarController + UITapGestureRecognizer + UITableView与双击事件一起使用。
用于切换点按项目的非常简单的单击事件,在UITableView滚动时点击时,不会被称为。相反,滚动完成后,点击更改。
我希望UITabBar识别双标签。双击时,将UITableView滚动到顶部。所以我用Tab bar补充做了一个项目。
DoubleTabBarController.h
#import <UIKit/UIKit.h>
@interface DoubleTabBarController : UITabBarController <UITabBarDelegate>
- (id)init;
@end
DoubleTabBarController.m (部分)
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer *singleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap1)] autorelease];
singleTap.numberOfTapsRequired = 1;
singleTap.numberOfTouchesRequired = 1;
singleTap.cancelsTouchesInView = NO;
UITapGestureRecognizer *doubleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap2)] autorelease];
doubleTap.numberOfTapsRequired = 2;
doubleTap.numberOfTouchesRequired = 1;
doubleTap.cancelsTouchesInView = NO;
[singleTap requireGestureRecognizerToFail:doubleTap];
[[self tabBar] addGestureRecognizer:singleTap];
[[self tabBar] addGestureRecognizer:doubleTap];
}
我失去了解决这个问题的方向。请帮帮我:)。
PS。我在iOS 4.3上遇到了同样的问题,但解决了删除UITabBarControllerDelegate协议的问题。它再次出现在iOS 5.0上:(