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 错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS:多行 UILabel 与水平 UIStackView 中的另一个 UILabel 大小错误