0

当我单击特定单元格时,我正在尝试更新我的单元格大小。我的表格在 iOS 10.2 中得到完美更新,但是当我在 iOS 11 上运行我的代码时我的表格闪烁。我在 iOS 11 中也收到警告 -[UIApplication application state] must be used from main thread. 所以,我已经重新加载我的表在调度队列中,但没有任何反应。我有多层 XIB,比如我有一个单元格,其中有一个表格,该表格正在注册另一个在点击时展开的单元格。下面是我的代码示例,当高度扩展我的主表闪烁时。

func expandMessageTable(height : CGFloat,expendedRow:Int){

self.expandMessageHeight = height

self.msgExpRow = expendedRow

let row = cellMenuArr.index(of:"MessageXIB")

let path = IndexPath(row: row!, section: 0)
print(path)

homeTblView.reloadRows(at: [path], with: .fade)


}
4

1 回答 1

1

Below is the fine working code i am using to reload cells -

DispatchQueue.main.async(execute: {
                            UIView.performWithoutAnimation {
                                self.tableView?.beginUpdates()
                                let contentOffset = self.tableView?.contentOffset
                                self.tableView?.reloadRows(at: [IndexPath(row: j, section: 0)], with: .automatic)
                                self.tableView?.setContentOffset(contentOffset!, animated: false)
                                self.tableView?.endUpdates()
                            }
                        })

Hope it helps.

于 2018-09-11T11:06:05.690 回答