UIlabel 中的 UITapGestureRecognizer 错误

Posted

技术标签:

【中文标题】UIlabel 中的 UITapGestureRecognizer 错误【英文标题】:UITapGestureRecognizer error in UIlabel 【发布时间】:2018-07-04 05:35:37 【问题描述】:

我在UILabel 上使用UITapGestureRecognizer

但是当我点击UILabel 时它崩溃了。

以下是我的代码。

UITapGestureRecognizer *gester = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(moveToDetail:)];
gester.numberOfTapsRequired = 1;
[label addGestureRecognizer:gester];
label.userInteractionEnabled = YES;

下面是 moveToDetail 方法

- (void)moveToDetail:(id)sender 

以下是崩溃消息

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UITapGestureRecognizer rootViewIfClass:]: 无法识别的选择器发送到实例

如何解决这个问题。

【问题讨论】:

您能否尝试将选择器方法的参数从“id”更新为“uitapgesturerecognizer”。 用一个新项目尝试了你的代码,代码执行成功,没有任何崩溃 请说明你是如何声明label的。 @property (weak, nonatomic) IBOutlet UILabel *label; @Vinaykrishnan 我也在不同的地方使用它工作正常。 【参考方案1】:

试试这个代码

UITapGestureRecognizer *gester = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(moveToDetail)];
gester.numberOfTapsRequired = 1;
label.userInteractionEnabled = YES;
[label addGestureRecognizer:gester];

- (void)moveToDetail



【讨论】:

以上是关于UIlabel 中的 UITapGestureRecognizer 错误的主要内容,如果未能解决你的问题,请参考以下文章

UIStackView 中的 UILabel

iOS:多行 UILabel 与水平 UIStackView 中的另一个 UILabel 大小错误

iphone中的UILabel文本对齐问题?

UIlabel 中的 UITapGestureRecognizer 错误

iOS中的UILabel控件

UITableView中的UIlabel多行