+[CATransaction synchronize] 搜索时在事务内调用
Posted
技术标签:
【中文标题】+[CATransaction synchronize] 搜索时在事务内调用【英文标题】:+[CATransaction synchronize] called within transaction when search 【发布时间】:2018-05-03 17:47:49 【问题描述】:我实现了一个searchController并添加到了navigationItem中。
这是代码:
var searchController = UISearchController(searchResultsController: nil)
searchController.obscuresBackgroundDuringPresentation = false
definesPresentationContext = true
searchController.searchResultsUpdater = self
searchController.searchBar.placeholder = NSLocalizedString("Search", comment: "")
searchController.hidesNavigationBarDuringPresentation = true
// Layout
searchController.searchBar.barTintColor = UIColor.groupTableViewBackground
navigationItem.searchController = searchController
当我点击 searchBar 写东西时,控制台会出现这个警告:
NameOfProject[9238:211033] +[CATransaction synchronize] 在内部调用 交易 NameOfProject[9238:211033] +[CATransaction 同步] 在事务 NameOfProject[9238:211033] +[CATransaction 中调用 同步] 在事务 NameOfProject[9238:211033] 中调用 +[CATransaction synchronize] 在事务中调用
请问有人知道怎么解决吗?
提前致谢!!
【问题讨论】:
【参考方案1】:存在一个相关的post。
这篇文章指出,这种行为可能是 ios 端的一个错误,因为它也出现在一个仅包含单个 UIViewController 的最小示例中,该 UIViewController 包含一个 UISearchController 并嵌入在 UINavigationController 中(请参阅Upholder Of Truth 的评论)。
【讨论】:
感谢您的回答,我也没有找到删除此警告的方法。这似乎真的是iOS方面的一个错误......以上是关于+[CATransaction synchronize] 搜索时在事务内调用的主要内容,如果未能解决你的问题,请参考以下文章
CATransaction 和 CAAnimation 有啥区别?