gpt4 book ai didi

ios - 在 iOS 9 中未调用 UITableViewCell 中的 IBAction

转载 作者:IT王子 更新时间:2023-10-29 05:25:09 27 4
gpt4 key购买 nike

我有一个自定义的 UITableViewCell 子类,它包含一些从 nib 连接起来的 IBAction 方法。

在 iOS 8 下一切正常。如果用户点击其中一个按钮,则会调用相应的 IBAction。如果用户点击单元格上的任何其他位置,将调用 UITableView didSelectRowAtIndexPath

在 iOS 9 下,我的 IBAction 方法永远不会被调用。 UITableView didSelectRowAtIndexPath 始终被触发,无论用户点击单元格中的何处(按钮与否)。

该项目是在 Xcode 6/Swift 1.2 下编译的。

我在没有解决方案的 Apple 论坛上找到了这篇帖子。他们似乎有同样的问题。

https://forums.developer.apple.com/thread/16179

最佳答案

我找到了解决方案,希望这个答案可以节省其他人的时间。

我继承了这个代码库,但它有一些问题。在 iOS 9 下无法工作的 UITableViewCell 没有使用带有 ContentViewUITableViewCell nib。相反,有人创建了一个 UIView nib,然后将它指向一个自定义的 UITableViewCell 子类。 nibs 没有 ContentView 并且显然 iOS 9 对此更加挑剔。此实现在 iOS 8 下运行良好,没有编译器或运行时错误或警告。

解决方案是创建一个新的 UITableViewCell 子类并让 Xcode 自动为其创建 Nib 。然后我从旧 nib 复制了所有 UI 和代码,并将其粘贴到新 nib 的 ContentView 中。然后我不得不修复约束并将连接重新连接到自定义子类。

关于ios - 在 iOS 9 中未调用 UITableViewCell 中的 IBAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32705171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com