gpt4 book ai didi

ios - UITapGestureRecognizer 根本不工作

转载 作者:行者123 更新时间:2023-11-29 02:47:49 27 4
gpt4 key购买 nike

我的任务是将音频播放器添加到现有的 iPad/iPhone 应用程序中。在过去的两天里,我一直在努力弄清楚为什么我不能让一个简单的点击手势工作。我已经搜索了互联网无济于事。我知道有几个这样的问题已经存在,但我仍然很困惑。请帮忙!我正在工作的区域位于带有单元格的表格 View 内。我在一些单元格中添加了一个 subview ,这些单元格从一个名为“背景”的 View 开始,其他 View 也被添加到其中。我添加了一个包含播放按钮的简单 UIView。我的“播放按钮” View 是通过如下方法构建的:

-(UIView*) messagePlayerImageViewForMessage:(LAZMessage*) message {
UIView* returnView = [[UIView alloc] initWithFrame:CGRectZero];
UIImageView* playButtonImageView = [[UIImageView alloc] init];
[returnView addSubview:playButtonImageView];
playButtonImageView.tag = TAG_CELL_PLAY_IMAGE_VIEW;

if ([self stringForMessageRecordingId:message]) {
UIImage* playButton = [UIImage imageNamed:@"play"];
[playButtonImageView setImage:playButton];
[playButtonImageView setFrame:CGRectMake(0, 0, playButton.size.width/2, playButton.size.height/2)];

[returnView setFrame:CGRectMake(0, 0, playButtonImageView.frame.size.width, playButtonImageView.frame.size.height)];
}
returnView.tag = TAG_CELL_MESSAGE_PLAYER_VIEW;
return returnView;
}

创建此 subview 后,我将其附加到单元格 View 并尝试像这样添加 GestureRecognizers

UIView* messagePlayerView = [self messagePlayerImageViewForMessage:message];
messagePlayerView.tag = TAG_CELL_MESSAGE_PLAYER_VIEW;
messagePlayerView.userInteractionEnabled = YES;
[background addSubview:messagePlayerView];

UITapGestureRecognizer* tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[messagePlayerView addGestureRecognizer:tapGesture];
tapGesture.cancelsTouchesInView = NO;
tapGesture.delegate = self;

对应的tap函数为

-(void) handleTap:(UITapGestureRecognizer*) tapGestureRecognizer{
NSLog(@"hi");
}

在 ViewController.h 中,类被声明为并且我在 ViewController.m 文件中添加了以下代码

-(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
return YES;
}

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}

没有 .xib,这一切都是通过编程完成的。

有什么想法吗?关于如何开始调试它的任何想法?

编辑:

我将 UITapGestureRecognizer 添加到 UITableView,这将注册一个点击。有没有人知道如何让水龙头渗透到我想要的特定 subview 。

最佳答案

表格 View 的触摸事件可能会取消 UIView 手势的触摸事件,您可能必须禁用表格 View 的行选择

关于ios - UITapGestureRecognizer 根本不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24895813/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com