UITapGestureRecognizer不会在IOS 6中触发

时间:2012-10-01 19:22:16

标签: ios6 uitapgesturerecognizer

下面的代码工作正常,是IOS 5,但现在handleTapGesture甚至没有在IOS 6中被调用。改变了什么?

- (id)initWithCoder:(NSCoder *)coder
{
    self = [super initWithCoder:coder];
    if (self) {
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
        [self addGestureRecognizer:tap];
    }
    return self;
}

- (void)handleTapGesture:(UITapGestureRecognizer *)recognizer
{
    MessageNib *cell = self;
    MessageView *view = (MessageView *)[[[NSBundle mainBundle] loadNibNamed:@"MessageView" owner:self options:nil] objectAtIndex:0];
    view.message = cell.message;

    [[NSNotificationCenter defaultCenter] postNotificationName:NEW_SUB_PAGE object:view];
}

2 个答案:

答案 0 :(得分:0)

我猜你必须在alloc init之后设置numberOfTaps

tap.numberOfTapsRequired = 1;

或者另一种可能性是没有调用initWithCoder。

答案 1 :(得分:0)

结束只是在我的项目上放置一个“幻影”按钮(没有内容的按钮)我想要点击并将Touch Up Inside事件附加到按钮上,该按钮调用我的点击手势代码。

无论如何,这是一个不错的瞬间黑客。