在iPad上检测多任务手势

时间:2012-03-01 05:04:29

标签: iphone objective-c xcode cocoa-touch

在我的iPad应用中,

  • 如果有任何应用正在运行,我们可以通过两三个手指水平拖动应用屏幕来水平移动应用。

这是iPad的内置功能,对吧。

是否有任何通知或事可以通知我?发生这种情况时。

有没有办法让我可以为我的应用禁用此功能。?

代码: - 当触摸移动时,我的主要视图被禁止作为要求,因此当我将屏幕拖到一切冻结的屏幕上时。

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{

   if(self.tag==trackCell && (trackLifeCycle==1 || trackLifeCycle==2) && trackCell!=-2)
   {

    if(![[self superview] isKindOfClass:[AQGridView class]])
    {  
        //NSLog(@"Touches Moved");

        trackLifeCycle=2;

        //////NSLog(@"Touches Moved at cell  Starts%d",self.tag);     
        UITouch *T=[touches anyObject];

        self.center=[T locationInView:[self superview]];

        [delegate isOnHeaderView:self center:self.center];

        //////NSLog(@"Touches Moved at cell Ends %d",self.tag);

    }
   }



}

1 个答案:

答案 0 :(得分:1)

多任务手势使用四个或五个手指。您无法在应用内禁用它们。用户可以在“设置”应用中(在“常规”部分下)为所有应用禁用它们。

没有专门针对多任务处理手势的通知。当用户开始手势时,您将获得UIApplicationWillResignActiveNotification。如果用户在不切换应用的情况下结束手势,您将获得UIApplicationDidBecomeActiveNotification。如果用户确实切换了应用,您将获得UIApplicationSuspendedNotification(可能不公开)和UIApplicationDidEnterBackgroundNotification

如果您在用户启动多任务处理手势时进行了有效触摸,则每个触摸的视图都应显示touchesCancelled:withEvent:条消息,并且每个有效的手势识别器都应设置自己的stateUIGestureRecognizerStateCancelled和发送动作消息。