【发布时间】:2020-11-25 03:16:04
【问题描述】:
我正在尝试在 Objective-C 的 iOS 14(beta 3)中以编程方式创建 UIButton。这是我尝试过的,但是当我点击按钮时 UIAction 处理程序永远不会被调用:
UIAction *tapAction = [UIAction actionWithHandler:^(UIAction* action){
NSLog(@"Never gets here");
}];
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 100) primaryAction:tapAction];
有什么想法吗?
【问题讨论】:
-
这不是重复的。我使用 addTarget 的旧代码在 iOS 14 上不起作用。目标永远不会被调用。我的理解是 iOS 14 通过要求 UIAction 改变了指定目标的方式。
-
澄清一下,我使用的是 Xcode 12 beta 3。
-
macOS Big Sur 11.0 beta、Xcode 12.0 beta 4、iOS 14.0 beta 3 - 基于链接副本中的代码 - 对我来说很好 - 你的问题在其他地方
-
是的,我发现问题是由于按钮位于表格视图单元格内。在 iOS 14 之前,会调用目标,但在 iOS 14 上不会。作为一种解决方法,我使用 didSelectRowAtIndexPath 并在单元格中找到按钮并直接调用目标。
标签: ios objective-c uibutton uiaction