在UITableViewCell中双击呈现UIActionSheet时出现问题

时间:2010-07-23 02:52:35

标签: iphone objective-c cocoa-touch uitableview uikit

当用户双击我的单元格时,我正在呈现一个UIActionSheet:

在小区初始化中点击识别:

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc]
                                            initWithTarget:self 
                                             action:@selector(handleDoubleTap:)];

        [doubleTap setNumberOfTapsRequired:2];
        [self addGestureRecognizer:doubleTap];
        [doubleTap release];

告诉代表处理点击:

- (void)handleDoubleTap:(UITapGestureRecognizer *)recognizer {
    NSLog(@"double oo");
    [delegate handleDoubleTapp];
}

现在,作为我的UITableViewController的委托将呈现UIActionSheet:

-(void)handleDoubleTapp{

        UIActionSheet *actionSheet = [[[UIActionSheet alloc]
                                       initWithTitle:nil
                                       delegate:self
                                       cancelButtonTitle:@"Cancel"
                                       destructiveButtonTitle:nil
                                       otherButtonTitles:@"Reply", @"Retweet", @"Direct Message", nil] autorelease];    
        [actionSheet showInView:self.parentViewController.tabBarController.view];

    }   
}

我的UITableViewController正确实现了UIActionSheet委托方法。

问题:

  1. 并非所有动作表区域都有响应
  2. 点击按钮会显示模态视图,但动作表不会被解除
  3. 当能够点击按钮时,它们不会突出显示

1 个答案:

答案 0 :(得分:0)

就像一个想法:一旦UIActionSheet即将变得可见,你是否尝试取消注册UIGestureRecognizer,并在行动表被取消时重新注册?也许识别器会干扰触摸。