佳为好友

原:手势操作的一些规律

日期:2011.04.09

原:手势操作的一些规律

*父view注册手势,则当手势操作在子view的时候,父view仍然能够收到消息。
*如果子view也注册了手势操作,则父view将无法收到手势操作了。可以猜测为,如果手势操作有下层拦截,则不会向上传递了。
*使用UINavigationController的push加入子Controller,那么即使RootController注册了手势操作,如果在子Controller进行手势操作时,Root也无法收到手势操作。
*在UITableView上注册手势操作也能成功。但是,由于UITableView自身有很多手势操作,因此可能会产生冲突,导致操作不受控制。例如,如果注册左右滑动的手势操作,则当进行左右操作时,很可能触发点击操作.
*如果某viewController覆盖了- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event等操作,则对于手势操作没有任何影响。即仍然可以收到手势操作。同样,如果子view覆盖touchesBegan等函数,也不会妨碍父view接受手势操作的。总之,覆盖touchesBegan等函数,不会对手势操作有任何影响。


*一些基本步骤:
- (void)viewDidLoad {

    UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGestureRecognizer:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
    recognizer.numberOfTouchesRequired = 1;
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release];
    
    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGestureRecognizer:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
    recognizer.numberOfTouchesRequired = 1;
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release];

}

- (void)handleSwipeGestureRecognizer:(UISwipeGestureRecognizer *)recognizer {
    NSLog(@"SecondViewGestureRecognizer");
}
+++++

posted on 2012-12-30 11:41 佳为好友 阅读(404) 评论(0)  编辑 收藏 引用 所属分类: UI


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2012年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

留言簿(1)

随笔分类

搜索

最新评论

评论排行榜