原本使用iOS 8 之後才有的Self-resizing,tableView可根據所設定的AutoLayout,自動調整Cell的高度:
但是有多個Cell Template的時候,而且每個Cell Template各自的高度不同,
這時候下tableView.reloadData(),會有回彈的問題(原本滑動到某個offset,延遲載入圖片或是文字,然後再tableView.reloadData()
解法:
(在切換不同Cell的時候,根據不同的Cell指定不同的Cell高度
PS: 若無效可使用另一招
var viewModel: ViewModelType! {
didSet {
let contentOffset = tableView.contentOffset
tableView.reloadData()
tableView.layoutSubviews()
tableView.contentOffset = contentOffset
}
}
(contentOffset在reload前先暫存,reload後更新一下UI,再設定回去)
參考資料:
http://stackoverflow.com/questions/25589540/uitableview-refresh-without-scrolling
留言列表