为什么成为第一响应者会导致iOS崩溃?
我想将为什么成为第一响应者会导致iOS崩溃?,ios,Ios,我想将UIMenuController与我的UITableViewCell一起使用 因此,我在我的单元格中的自定义标签中添加了一个ui长按GestureRecognitor -(BOOL)canBecomeFirstResponder { return YES; } -(void)longPress:(UILongPressGestureRecognizer *)longRecognizer { if (longRecognizer.state!=UIGestureRecogni
UIMenuController
与我的UITableViewCell
一起使用
因此,我在我的单元格中的自定义标签中添加了一个ui长按GestureRecognitor
-(BOOL)canBecomeFirstResponder
{
return YES;
}
-(void)longPress:(UILongPressGestureRecognizer *)longRecognizer
{
if (longRecognizer.state!=UIGestureRecognizerStateBegan) {
return;
}
[self becomeFirstResponder];
UIMenuItem *copy = [[UIMenuItem alloc] initWithTitle:@"copy" action:@selector(copyText:)];
UIMenuItem *report = [[UIMenuItem alloc] initWithTitle:@"report" action:@selector(reportText:)];
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:@[copy, report]];
[menu setTargetRect:longRecognizer.view.bounds inView:longRecognizer.view];
[menu setMenuVisible:YES animated:YES];
NSLog(@"menu show");
}
但是我在[self becomeFirstResponder]
和控制台日志显示
\u BSMachError:(操作系统/内核)无效功能(20)
\u bsmachinerror:(os/kern)无效名称(15)
发生了什么事?您正在becomeFirstResponder中分配Deallocate对象。@CodeHunter您的意思是自定义标签已解除分配吗?但调试代码时标签未解除分配只需添加[yourlable/textfield becomeFirstResponder]。@CodeHunter
self
是我的标签