更新 Xcode 12 后如何修复操作按钮?

Posted

技术标签:

【中文标题】更新 Xcode 12 后如何修复操作按钮?【英文标题】:How can I fix action button after update Xcode 12? 【发布时间】:2020-09-23 11:45:37 【问题描述】:

Xcode 更新 (Xcode 12) 后,我的操作按钮停止工作。当我单击按钮时,我发现这些功能不起作用(就像那里没有按钮)。我不明白为什么。这些按钮放置在TableView Cell。如何修复这些功能?

这里是我的动作按钮功能:

   @objc func addAction(sender: UIButton) 
       let indexPath = IndexPath(row: sender.tag, section: 0)
       let cell = tableView.cellForRow(at: indexPath) as! customCell
       cell.count += 1
       cell.countBasketLabel.text = "x\(cell.count)"
       
       let detailGelen = detailsModel[indexPath.row]
       selectedItemName.append(detailGelen.itemDetailName!)
       selectedItemPrice.append(detailGelen.itemDetailPrice!)

       UserDefaults.standard.set(selectedItemName, forKey: "urunadi")
       UserDefaults.standard.set(selectedItemPrice, forKey: "urunfiyat")
       tableView.reloadData()
   

这是我的按钮代码:

       let addButton: UIButton = 
           let button = UIButton(type: .system)
           button.setImage(UIImage(named: "add"), for: .normal)
           button.tintColor = .black
           button.layer.cornerRadius = 5
           button.addTarget(self, action: #selector(testdetail.addAction(sender:)), for: .touchUpInside)
           return button
       ()

编辑:

我下载了旧版本的 Xcode(11.5 (11E608c))。当我使用 Xcode 11.5 ios14 运行按钮时,但当我使用 Xcode 12 运行时,IOS 14 按钮不起作用。我还没有找到解决方案。我愿意接受建议。

编辑 2:

我确定 Xcode 12 中存在错误。因为ScrollToIndex 也不起作用,当我用 Xcode 11.5 模拟它时它也起作用了。(在 IOS 14 及更低版本中)

【问题讨论】:

尝试使用lazy var addButton: UIButton 而不是let addButton: UIButton。我已经检查过了,它应该可以按预期工作。 我照你说的做了,但还是不行。 很奇怪,我已经用 Xcode 12.0 (12A7209) 测试了你的代码,lazy var UIButtonaddAction 被正确调用。添加按钮可能有任何问题。我刚刚从viewDidLoad() 中的代码将addButton 添加到导航栏。 真的很奇怪,这个按钮在自定义表格视图单元格中。但我不明白为什么这不起作用。其他按钮在我的应用程序中工作,所以可能是 tableview 单元格导致这个? 好吧,我更喜欢使用闭包(回调),你可以查看this implementation。我已经测试了您的代码,但没有在自定义单元中实现。 【参考方案1】:

我将按钮直接添加到单元格内容视图中,它对我有用。

cell.contentView.addSubview(button)

【讨论】:

以上是关于更新 Xcode 12 后如何修复操作按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复一些 Xcode 13 错误,例如无法正确跳转到定义?

如何修复 Xcode 版本 11.0 测试版画布崩溃?

在 Unity Canvas 中编译后如何修复闪亮的按钮问题

Xcode 4.2 iOS程序如何给按钮等添加点击后的代码

Xcode 服务器:更新到 10.10.2 后无法映射

如何修复线程 1:EXC_BAD_ACCESS (code=1, address=0x58) xcode