我有一个自定义UITableViewCell子类,其中包含一些IBAction从笔尖连接的方法。
UITableViewCell
IBAction
在iOS 8下,一切正常。如果用户点击其中一个按钮,IBAction则会调用相应的按钮。如果用户点击该单元格上的其他任何位置,则将UITableView didSelectRowAtIndexPath调用。
UITableView didSelectRowAtIndexPath
在iOS 9下,永远不会调用我的IBAction方法。在UITableView didSelectRowAtIndexPath始终不管其中用户在小区(按钮或不)抽头的烧成。
UITableView
didSelectRowAtIndexPath
该项目在Xcode 6 / Swift 1.2下编译。
我在没有解决方案的Apple论坛上找到了这篇文章。他们似乎有同样的问题。
https://forums.developer.apple.com/thread/16179
我想出了解决方案,希望这个答案可以节省其他人的时间。
我继承了此代码库,但出现了一些问题。在UITableViewCell's那些没有在iOS的9个工作没有使用UITableViewCell笔尖W / A ContentView。相反,有人创建了一个UIView笔尖,然后将其指向自定义UITableViewCell子类。笔尖没有ContentView,显然iOS 9对此有些挑剔。此实现在iOS 8下运行良好,没有编译器或运行时错误或警告。
UITableViewCell's
ContentView
UIView
解决方案是创建一个新的UITableViewCell子类,然后让Xcode自动为其创建笔尖。然后,我从旧笔尖复制了所有UI和代码,并将其粘贴到ContentView新笔尖的。然后,我不得不修正约束,并将连接重新连接到自定义子类。